WebSphere

SMO: HTTP schema

The service message object (SMO) schema contains other schemas, including one that describes the HTTP header.

Introduction

The HTTP schema specifies the overall structure of the HTTP header.

HTTP header schema

<schema xmlns="http://www.w3.org/2001/XMLSchema"
        xmlns:httpsca="http://www.ibm.com/xmlns/prod/websphere/http/sca/6.1.0"
        xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
        ecore:package="com.ibm.websphere.http.headers"
        ecore:nsPrefix="httpsca"
        elementFormDefault="qualified"
        targetNamespace="http://www.ibm.com/xmlns/prod/websphere/http/sca/6.1.0">

  <element name="HTTPMessageHeader" type="httpsca:HTTPMessageParameters"/>
  
  <complexType name="HTTPMessageParameters">
    <sequence>
      <element minOccurs="0" nillable="true" name="HTTPControl" type="httpsca:HTTPControl"/>
      <element minOccurs="0" nillable="true" name="HTTPHeaders" type="httpsca:HTTPHeaders"/>
    </sequence>
  </complexType>

  <complexType name="HTTPControl">
    <sequence>
      <element minOccurs="0" nillable="true" name="URL" type="anyURI"/>
      <element minOccurs="0" nillable="true" name="Version" type="httpsca:HTTPVersion"/>
      <element minOccurs="0" nillable="true" name="Method" type="string"/>
      <element minOccurs="0" nillable="true" name="DynamicOverrideURL" type="anyURI"/>
      <element minOccurs="0" nillable="true" name="DynamicOverrideVersion" type="httpsca:HTTPVersion"/>
      <element minOccurs="0" nillable="true" name="DynamicOverrideMethod" type="string"/>
      <element minOccurs="0" nillable="true" name="MediaType" type="string"/>
      <element minOccurs="0" nillable="true" name="Charset" type="string"/>
      <element minOccurs="0" nillable="true" name="TransferEncoding" type="string"/>
      <element minOccurs="0" nillable="true" name="ContentEncoding" type="string"/>
      <element minOccurs="0" name="StatusCode" type="int"/>
      <element minOccurs="0" nillable="true" name="ReasonPhrase" type="string"/>
      <element minOccurs="0" nillable="true" name="Authentication" type="httpsca:HTTPAuthentication"/>
      <element minOccurs="0" nillable="true" name="SSLSettings" type="httpsca:HTTPSSLSettings"/>
      <element minOccurs="0" maxOccurs="2" nillable="true" name="ProxySettings" type="httpsca:HTTPProxySettings"/>
    </sequence>
  </complexType>

  <complexType name="HTTPHeader">
    <sequence>
      <element name="name" type="string"/>
      <element name="value" type="string"/>
    </sequence>
  </complexType>

  <complexType name="HTTPHeaders">
    <sequence>
      <element name="header" minOccurs="0" maxOccurs="unbounded" type="httpsca:HTTPHeader"/>
    </sequence>
  </complexType>
  
  <!--SSL Settings -->
  <complexType name="HTTPSSLSettings">
    <sequence>
      <element default="SSL" nillable="true" name="SSLVersion" type="string"/>
      <element default="false" nillable="true" name="SSLDebug" type="boolean"/>
      <element default="JKS" nillable="true" name="KeyStoreType" type="string"/>
      <element default="JKS" nillable="true" name="TrustStoreType" type="string"/>
      <element nillable="true" name="KeyStore" type="string"/>
      <element nillable="true" name="KeyStoreAlias" type="string"/>
      <element nillable="true" name="KeyStorePassword" type="string"/>
      <element nillable="true" name="TrustStore" type="string"/>
      <element nillable="true" name="TrustStorePassword" type="string"/>
      <element default="false" nillable="true" name="UseClientAuth" type="boolean"/>
    </sequence>
  </complexType>
	
  <!--Proxy Settings -->
  <complexType name="HTTPProxySettings">
    <sequence>
      <element nillable="true" name="proxyHost" type="string"/>
      <element nillable="true" name="proxyPort" type="int"/>
      <element nillable="true" name="proxyType" type="httpsca:HTTPProxyType"/>
      <element nillable="true" minOccurs="0" name="proxyCredentials" type="httpsca:HTTPCredentials"/>
      <element nillable="true" minOccurs="0" maxOccurs="unbounded" name="nonProxyHost" type="string"/>
    </sequence>
  </complexType>
	
  <!--HTTP Authentication -->
  <complexType name="HTTPAuthentication">
    <sequence>
      <element nillable="true" name="credentials" type="httpsca:HTTPCredentials"/>
      <element nillable="true" name="authenticationType" type="httpsca:HTTPAuthenticationType"/>
    </sequence>
  </complexType>
	
  <!--HTTP Credentials -->
  <complexType name="HTTPCredentials">
    <sequence>
      <element nillable="true" name="userId" type="string"/>
      <element nillable="true" name="password" type="string"/>
    </sequence>
  </complexType>
	
  <!-- Authentication Type. Supports: Basic Auth -->
  <simpleType name="HTTPAuthenticationType">
    <restriction base="string">
      <enumeration value="Basic"/>
    </restriction>
  </simpleType>
	
  <!-- Proxy protocol type. Supports: http and https -->
  <simpleType name="HTTPProxyType">
    <restriction base="string">
      <enumeration value="http"/>
      <enumeration value="https"/>
    </restriction>
  </simpleType>	
	
  <!-- HTTP Version type.-->
  <simpleType name="HTTPVersion">
    <restriction base="string">
      <enumeration value="1.0"/>
      <enumeration value="1.1"/>
    </restriction>
  </simpleType>	
</schema>

Schema field descriptions

HTTPHeader
Models HTTP header fields.
control
Models specific HTTP header fields that are widely used in the context of service mediation. Most of these header fields are defined in the HTTP 1.1 specification.
URL
When a service request comes into the enterprise service bus (ESB), through an HTTP export binding, the URL field contains the URL of the HTTP service calling the ESB. If the ESB calls another HTTP service, using an HTTP import binding, the DynamicOverrideURL field can be used to dynamically set the URL of the service that the ESB calls. The service requester, (from the ESB point of view), can itself be a service provider: a client can call a Web service that uses the ESB to call another service.
Note: If you are using a Web service binding that supports the service gateway, the URL element contains the request URL and any parameters that were specified on the request URL. You have the option of creating a service gateway that routes messages using the parameters included in the request URL.
Version
The HTTP version received in the HTTP call. The value of the Version field can be either: 1.1 or 1.0. When sending a request, the Version field is ignored by the HTTP import binding; you must use the DynamicOverrideVersion field instead.
Method
The HTTP method received in the HTTP call. The methods are: GET, POST, PUT, DELETE, TRACE, OPTIONS, and HEAD. When sending a request, the Method field is ignored by the HTTP import binding; you must use the DynamicOverrideMethod field instead.
DynamicOverrideURL
The URL used by the HTTP import binding, when sending a request.
DynamicOverrideVersion
The HTTP version used by the HTTP import binding, when sending a request. The value of the Version field can be either: 1.1 or 1.0.
DynamicOverrideMethod
The HTTP method used by the HTTP import binding, when sending a request. The methods are: GET, POST, PUT, DELETE, TRACE, OPTIONS, and HEAD.
MediaType
The HTTP media type.
Charset
The HTTP character set.
TransferEncoding
The HTTP transfer encoding.
ContentEncoding
The HTTP content encoding.
StatusCode
The HTTP status code, as an integer.
ReasonPhrase
The HTTP status code, as a human-readable explanation.
Authentication
Models the HTTP authentication header.
credentials
The HTTP credentials for authentication.
userId
The user id.
password
The password.
authenticationType
The HTTP authentication type. Currently, only basic authentication is supported.
SSLSettings
Models the HTTP SSL settings that are used for the HTTP call.
SSLVersion
The SSL version.
SSLDebug
A boolean value defining whether SSLDebug is used.
KeyStoreType
The keystore type.
KeyStore
The keystore name.
KeyStoreAlias
The keystore alias.
KeyStorePassword
The keystore password.
TrustStoreType
The truststore type.
TrustStore
The truststore name.
TrustStorePassword
The truststore password.
UseClientAuth
A boolean value defining whether client authentication is used.
ProxySettings
Models the HTTP proxy settings that are used for the HTTP call.
proxyHost
The proxy hostname.
proxyPort
The proxy port.
proxyType
The type of proxy to be used. The value of the proxyType field can be either: http or https.
proxyCredentials
The credentials for the proxy.
userId
The user id.
password
The password.
nonProxyHost
A list of non-proxy hosts.
header
Models any other HTTP header fields that are defined in the HTTP 1.1 specification.
name
The header name.
value
The header value.

reference Reference topic

Terms of use | Feedback


Timestamp icon Last updated: 20 June 2010 00:39:59 BST (DRAFT)


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.wbit.help.medprim620.doc/ref/rwesb_SMOHTTPStructure.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
This information center is powered by Eclipse technology (http://www.eclipse.org).
iDoc on