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, andHEAD. 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, andHEAD. - 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 host name.
- 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.
This topic only applies to BAW, and is located in the BAW repository. Last updated on 2025-03-13 12:15