Index Changes

Difference between version and version     

Back to SOAP Processing, or SOAP Processing Info


At line 1 removed 1 line.
!!HTTP Binding Component User Guide
At line 2 added 2 lines.
!!Using the HTTP Binding Component
At line 4 changed 1 line.
* [HTTP Binding Component User Guide|HTTPBindingComponentUserGuide]
* [Using the HTTP Binding Component|UsingTheHTTPBindingComponent]
At line 6 changed 1 line.
* [The HTTP/SOAP Binding Architecture|HTTPBindingComponentArchitecture]
* [HTTP/SOAP Binding Architecture|HTTPBindingComponentArchitecture]
At line 9 changed 4 lines.
* __SOAP Processing__
** SOAP WSDL Extensibility Elements
** SOAP Connectivity Elements
** SOAP Binding Elements
* %%(color:#3333ff;)__SOAP Processing__%%
** SOAP 1.1 WSDL Extensibility Elements
** SOAP 1.1 Connectivity Element
** SOAP 1.1 Binding Elements
** SOAP 1.2 WSDL Extensibility Elements
** SOAP 1.2 Connectivity Element
** SOAP 1.2 Binding Elements
At line 20 added 2 lines.
* [HTTP Binding Component Client Endpoint Properties|HTTPBindingComponentClientEndpointProperties]
* [Using Normalized Message Properties to Propagate Binding Context Information|UsingNormalizedMessagePropertiesWithHTTPBindingComponent]
At line 17 changed 3 lines.
* [Using the Tango Web Service Features with the HTTP Binding Component|ConfiguringWebServiceAttributes]
* [Using Basic Authentication with the HTTP Binding Component|UsingBasicAuthenticationWithHTTPBindingComponent]
* [Using Application Variables to Define Name/Value Pairs|UsingApplicationVariablesToDefineNameValue Pairs]
* [Using the Tango Web Service Features with the HTTP Binding Component|UsingTangoWebServiceAttributes]
* [Configuring Web Service Attributes|ConfiguringWebServiceAttributes]
* [HTTP Binding Component Security|HTTPBindingComponentSecurity]
* [Using Application Variables to Define Name/Value Pairs|UsingApplicationVariablesToDefineNameValuePairs]
At line 21 changed 1 line.
* [Statistics Monitoring|StatisticsMonitoring]
* [Logging and Statistics Monitoring|LoggingAndStatisticsMonitoring]
* [Using WS-Atomic Transaction|UsingWSTransaction]
At line 32 added 4 lines.
\\
!!!SOAP Processing
----
\\
At line 37 added 1 line.
The HTTP Binding Component provides external connectivity for SOAP over HTTP in a JBI 1.0 compliant environment. The HTTP Binding Component supports the SOAP 1.1 and SOAP 1.2 specifications and implements SOAP binding from the WSDL 1.1 specification. The HTTP Binding Component also supports Basic Profile 1.1, and SOAP Attachments.
At line 26 removed 1 line.
!!!SOAP Processing
At line 28 changed 6 lines.
The HTTP Binding Component provides external connectivity for SOAP over HTTP in a JBI 1.0 compliant environment. The HTTP Binding Component supports the SOAP 1.1 specification and implements SOAP binding from the WSDL 1.1 specification.
\\ \\
This section includes the following topics:
* SOAP WSDL Extensibility Elements
* SOAP Connectivity Elements
* SOAP Binding Elements
!!SOAP 1.1 WSDL Extensibility Elements
At line 35 changed 1 line.
!!SOAP WSDL Extensibility Elements
The SOAP 1.1 WSDL elements enable you to configure SOAP Connectivity and SOAP Binding information for the HTTP Binding Component.
* The only SOAP 1.1 Connectivity Element is SOAP 1.1 address Element\\
* SOAP 1.1 Binding Elements elements include the following:\\
** SOAP 1.1 {{binding}} Element\\
** SOAP 1.1 {{operation}} Element\\
** SOAP 1.1 {{body}} Element\\
** SOAP 1.1 {{fault}} Element\\
** SOAP 1.1 {{header}} and {{headerfault}} Elements\\
\\
%%center
[Top|SOAPProcessing]%%
At line 37 changed 10 lines.
The SOAP WSDL elements allow you to configure SOAP Connectivity and SOAP Binding information for the HTTP Binding Component.
\\ \\
SOAP Connectivity Elements elements include the following:
* The SOAP Address Element
* SOAP Binding Elements elements include the following:
* The SOAP Binding Element
* The SOAP Operation Element
* The SOAP Body Element
* The SOAP Fault Element
* The SOAP Header and Headerfault Elements
!!SOAP 1.1 Connectivity Element
At line 48 changed 2 lines.
!!SOAP Connectivity Elements
Soap Connectivity elements consist of the address element.
The only SOAP 1.1 Connectivity element is the address element.
At line 51 changed 6 lines.
!The SOAP Address Element
The SOAP {{address}} extensibility element allows the user to specify the connectivity information to the SOAP server.
\\ \\
Table 1 - SOAP Address Element Attributes
|Property |Description |Required or Optional |Example
|location |A URL which specifies the connectivity information used to connect to the SOAP server. |Required |http://myhost:7676/some/additional/context
!SOAP 1.1 address Element
At line 58 changed 1 line.
The following example illustrates the use of the SOAP address element:
The SOAP 1.1 {{address}} extensibility element specifies the address used to connect to the SOAP server.
__Table 1 SOAP 1.1 {{address}} Element Attributes__
|| Property|| Description|| Required or Optional|| Example
| location| A URL which indicates the address used to connect to the SOAP server| Required| http://myhost:7676/mars/kb423
The following example illustrates the use of the SOAP 1.1 {{address}} element.
At line 60 changed 3 lines.
<port binding="y:binding" name="soapEndpoint">
<soap:address location="http://myhost:7676/some/additional/context" />
</port>
<port binding="y:binding" name="soapEndpoint">
<soap:address location="http://myhost:7676/some/additional/context" />
</port>
At line 73 added 3 lines.
\\
%%center
[Top|SOAPProcessing]%%
At line 77 added 1 line.
!!SOAP 1.1 Binding Elements
At line 66 changed 2 lines.
!!SOAP Binding Elements
The SOAP extensibility elements for binding abstract WSDL messages to SOAP messages fall into several sections. Each section signifies how the binding should occur. At the binding level, the configuration applies to the entire port type. At the operation level, the configuration applies only to the operation. At the message level, the configuration applies to that particular message, regardless of whether the message is input or output.
The SOAP 1.1 extensibility elements for binding abstract WSDL messages to SOAP messages fall into several sections or levels.
At line 69 changed 7 lines.
!The SOAP Binding Element
The purpose of the SOAP {{binding}} element is to indicate that the binding is bound to the SOAP protocol format: Envelope, Header and Body. This element makes no claim as to the encoding or format of the message (e.g. that it necessarily follows section 5 of the SOAP 1.1 specification).
\\ \\
Table&nbsp;2 - SOAP Binding Element Attributes
|Property |Description |Required or Optional |Example
|transport&nbsp;&nbsp; |Indicates to which transport of SOAP this binding corresponds. |Optional |http://schemas.xmlsoap.org/soap/http
|style&nbsp;&nbsp; |Indicates the default style of this particular SOAP binding. |Optional |rpc
Each level signifies how the binding should occur:
* binding level &mdash; the configuration applies to the entire port type\\
* operation level &mdash; the configuration applies only to the operation\\
* message level &mdash; the configuration applies to that particular message, whether the message is input or output\\
At line 77 changed 1 line.
The SOAP {{binding}} element MUST be present when using the SOAP binding. The following example illustrates the use of the SOAP binding element:
!SOAP 1.1 {{binding}} Element
The SOAP 1.1 {{binding}} element indicates that the binding is bound to the SOAP 1.1 protocol format: Envelope, Header and Body. This element does not indicate the encoding or format of the message, for example, that it necessarily follows section 5 of the SOAP 1.1 specification.
__Table&nbsp;2 SOAP 1.1 {{binding}} Element Attributes__
|| Property|| Description|| Required or Optional|| Example
| transport&nbsp;&nbsp;| Indicates to which transport of SOAP this binding corresponds| Optional| http://schemas.xmlsoap.org/soap/http
| style&nbsp;&nbsp;| Indicates the default style of this particular SOAP binding| Optional| rpc
The SOAP 1.1 {{binding}} element must be present when using the SOAP binding. The following example illustrates the use of the SOAP 1.1 {{binding}} element.
At line 79 changed 5 lines.
&lt;definitions .... >
&lt;binding .... >
&lt;soap:binding transport="uri"? style="rpc|document"?>
&lt;/binding>
&lt;/definitions>
<definitions .... >
<binding .... >
<soap:binding transport="uri"? style="rpc|document"?>
</binding>
</definitions>
At line 86 removed 11 lines.
The __style attribute__ value is the default style attribute for each contained operation. If the style attribute is omitted, it is assumed to be "document".
\\ \\
The value of the required __transport attribute__ indicates the transport to use to deliver SOAP messages. The URI value http://schemas.xmlsoap.org/soap/http corresponds to the HTTP binding in the SOAP specification. Other URIs may be used here to indicate other transports (such as SMTP, FTP, and so forth).
\\ \\
!The SOAP Operation Element
The purpose of the SOAP {{operation}} element is to provide binding information from the abstract operation to the concrete SOAP operation.
\\ \\
Table&nbsp;3 - SOAP Operation Element Attributes
|Property |Description |Required or Optional |Example
|soapAction |Indicates the soapAction that should be put into the HTTP header. |Optional |urn:someSoapAction
|style&nbsp; |Indicates the default style of this particular SOAP operation. |Optional |rpc
At line 98 changed 1 line.
The following example illustrates the use of the SOAP operation element:
The {{style}} attribute value is the default style attribute for each contained operation. If the style attribute is omitted, the value is assumed to be "document".
The value of the required {{transport}} attribute indicates the transport to use to deliver SOAP messages. The URI value {{http://schemas.xmlsoap.org/soap/http}} corresponds to the HTTP binding in the SOAP specification. Other URIs may be used here to indicate other transports such as SMTP, FTP, and so forth.
\\
%%center
[Top|SOAPProcessing]%%
!SOAP 1.1 {{operation}} Element
The SOAP 1.1 {{operation}} element provides binding information from the abstract operation to the concrete SOAP operation.
__Table&nbsp;3 SOAP 1.1 {{operation}} Element Attributes__
|| Property|| Description|| Required or Optional|| Example
| soapAction| Indicates the soapAction that should be put into the HTTP header| Optional| urn:someSoapAction
| style&nbsp;| Indicates the default style of this particular SOAP operation| Optional| rpc
The following example illustrates the use of the SOAP {{operation}} element.
At line 100 changed 7 lines.
&lt;definitions .... >
&lt;binding .... >
&lt;operation .... >
&lt;soap:operation soapAction="uri"? style="rpc|document"?>?
&lt;/operation>
&lt;/binding>
&lt;/definitions>
<definitions .... >
<binding .... >
<operation .... >
<soap:operation soapAction="uri"? style="rpc|document"?>?
</operation>
</binding>
</definitions>
At line 109 changed 6 lines.
The __style attribute__ indicates whether the operation is RPC-oriented (messages containing parameters and return values) or document-oriented (messages containing documents). This information may be used to select an appropriate programming model. The value of this attribute also affects the way in which the body of the SOAP message is constructed. If the attribute is not specified, it defaults to the value specified in the soap:binding element. If the soap:binding element does not specify a style, it is assumed to be "document".
\\ \\
The __soapAction attribute__ specifies the value of the {{SOAPAction}} header for this operation. This URI value should be used directly as the value for the {{SOAPAction}} header. No attempt should be made to make a relative URI value absolute when making the request. For the HTTP protocol binding of SOAP, this value is required (it has no default value). For other SOAP protocol bindings, it MUST NOT be specified, and the soap:operation element can be omitted.
\\ \\
!The SOAP Body Element
The purpose of the SOAP {{body}} element is to provide binding information from the abstract operation to the concrete SOAP operation.
The {{style}} attribute indicates whether the operation is RPC-oriented, with messages containing parameters and return values, or document-oriented, with messages containing documents. This information is used to select an appropriate programming model. The value of this attribute also affects the way in which the body of the SOAP message is constructed. If the attribute is not specified, it defaults to the value specified in the {{soap:binding}} element. If the {{soap:binding}} element does not specify a style, it is assumed to be "document".
The {{soapAction}} attribute specifies the value of the {{SOAPAction}} header for this operation. Use this URI value directly as the value for the {{SOAPAction}} header. do not attempt to make a relative URI value absolute when making the request. For the HTTP protocol binding of SOAP, this value is required and has no default value. For other SOAP protocol bindings, this value should not be specified, and the {{soap:operation}} element can be omitted.
At line 116 changed 6 lines.
Table&nbsp;4 - SOAP Body Element Attributes
|Property |Description |Required or Optional |Example
|parts |Indicates the parts from the WSDL message that will be included in the body element. |Optional |part1
|use |Indicates how message parts are encoded in the SOAP body. |Optional |literal
|encodingStyle |Indicates a particular encoding style to use. |Optional |http://someencodingstyle
|namespace |Indicates the namespace of the wrapper element for RPC style messages. |Optional |urn:someNamespace
%%center
[Top|SOAPProcessing]%%
At line 123 changed 1 line.
The following example illustrates the SOAP body element:
!SOAP 1.1 {{body}} Element
The SOAP 1.1 {{body}} element provides binding information from the abstract operation to the concrete SOAP operation.
__Table&nbsp;4 SOAP 1.1 {{body}} Element Attributes__
|| Property|| Description|| Required or Optional|| Example
| parts | Indicates the parts from the WSDL message that will be included in the body element| Optional| part1
| use| Indicates how message parts are encoded in the SOAP body| Optional| literal
| encodingStyle| Indicates a particular encoding style to use| Optional| http://someEncodingStyle
| namespace| Indicates the namespace of the wrapper element for RPC style messages| Optional| urn:someNamespace
The following example illustrates the SOAP 1.1 {{body}} element.
At line 125 changed 5 lines.
&lt;definitions .... >
&lt;binding .... >
&lt;operation .... >
&lt;input>
&lt;soap:body parts="nmtokens"? use="literal|encoded"?
<definitions .... >
<binding .... >
<operation .... >
<input>
<soap:body parts="nmtokens"? use="literal|encoded"?
At line 131 changed 3 lines.
&lt;/input>
&lt;output>
&lt;soap:body parts="nmtokens"? use="literal|encoded"?
</input>
<output>
<soap:body parts="nmtokens"? use="literal|encoded"?
At line 135 changed 4 lines.
&lt;/output>
&lt;/operation>
&lt;/binding>
&lt;/definitions>
</output>
</operation>
</binding>
</definitions>
At line 141 removed 11 lines.
The optional __parts attribute__ of type {{nmtokens}} indicates which parts appear somewhere within the SOAP Body portion of the message (other parts of a message may appear in other portions of the message, such as when SOAP is used in conjunction with the multipart/related MIME binding). If the parts attribute is omitted, then all parts defined by the message are assumed to be included in the SOAP Body portion.
\\ \\
The required __use attribute__ indicates whether the message parts are encoded using some encoding rules, or whether the parts define the concrete schema of the message.
\\ \\
If {{use}} is encoded, then each message part references an abstract type using the {{type}} attribute. These abstract types are used to produce a concrete message by applying an encoding that is specified by the {{encodingStyle}} attribute. The part names, types and value of the {{namespace}} attribute are all inputs to the encoding, although the {{namespace}} attribute only applies to content that is not explicitly defined by the abstract types. If the referenced encoding style allows variations in its format (as does the SOAP encoding), then all variations MUST be supported ("reader makes right").
\\ \\
If {{use}} is literal, then each part references a concrete schema definition using either the {{element}} or {{type}} attribute. In the first case, the element referenced by the part will appear directly under the Body element (for document style bindings) or under an accessor element named after the message part (in RPC style). In the second, the type referenced by the part becomes the schema type of the enclosing element (Body for document style or part accessor element for RPC style).
\\ \\
For an example that illustrates "defining the contents of a composite Body using a type", see section 2.3.1. The value of the encodingStyle attribute may be used when the use is literal, to indicate that the concrete format was derived using a particular encoding (such as the SOAP encoding), but that only the specified variation is supported ("writer makes right").
\\ \\
The value of the __encodingStyle attribute__ is a list of URIs, each separated by a single space. The URI's represent encodings used within the message, in order of most restrictive to least restrictive (exactly like the encodingStyle attribute defined in the SOAP specification).
At line 153 changed 8 lines.
!The SOAP Fault Element
The {{fault}} element specifies the contents of SOAP Fault Details element. It is patterned after the body element.\\ \\
Table&nbsp;5 - SOAP Fault Element Attributes
|Property |Description |Required or Optional |Example
|name |Indicates the name of the part from the WSDL message that will be included in the fault element. |Required |part1
|use |Indicates how message parts will be encoded in the SOAP fault. |Required |literal
|encodingStyle |Indicates a particular encoding style to use. |Optional |http://someencodingstyle
|namespace |Indicates the namespace of the wrapper element for RPC style messages. |Optional |urn:someNamespace
The optional {{parts}} attribute of type {{nmtokens}} indicates which parts appear somewhere within the SOAP body portion of the message. Other parts of a message may appear in other portions of the message, such as when SOAP is used in conjunction with the multipart/related MIME binding. If the {{parts}} attribute is omitted, then all parts defined by the message are assumed to be included in the SOAP Body portion.
At line 162 changed 1 line.
The following example illustrates the SOAP fault element:
The {{use}} attribute indicates whether the message parts are encoded using some encoding rules, or whether the parts define the concrete schema of the message.
If {{use}} is encoded, then each message part references an abstract type using the {{type}} attribute. These abstract types are used to produce a concrete message by applying an encoding that is specified by the {{encodingStyle}} attribute. The part names, types and value of the {{namespace}} attribute are all inputs to the encoding, although the {{namespace}} attribute only applies to content that is not explicitly defined by the abstract types. If the referenced encoding style allows variations in its format, as does the SOAP encoding, then all variations must be supported ("reader makes right").
If {{use}} is literal, then each part references a concrete schema definition using either the {{element}} or {{type}} attribute. In the first case, the element referenced by the part will appear directly under the {{body}} element for document style bindings, or under an {{accessor}} element named after the message part in RPC style. In the second case, the type referenced by the part becomes the schema type of the enclosing element: {{body}} for document style or {{part accessor}} element for RPC style.
You can use the value of the {{encodingStyle}} attribute when the use is literal to indicate that the concrete format was derived using a particular encoding such as the SOAP encoding, but that only the specified variation is supported ("writer makes right").
The value of the {{encodingStyle}} attribute is a list of URIs, each separated by a single space. The URIs represent encodings used within the message, in order of most restrictive to least restrictive, like the {{encodingStyle}} attribute defined in the SOAP specification.
\\
%%center
[Top|SOAPProcessing]%%
!SOAP 1.1 {{fault}} Element
The {{fault}} element specifies the contents of SOAP Fault Details element. It is patterned after the {{body}} element.
__Table&nbsp;5 SOAP 1.1 {{fault}} Element Attributes__
|| Property|| Description|| Required or Optional|| Example
| name| Indicates the name of the part from the WSDL message that will be included in the fault element| Required| part1
| use| Indicates how message parts will be encoded in the SOAP fault| Required| literal
| encodingStyle| Indicates a particular encoding style to use| Optional| http://someEncodingStyle
| namespace| Indicates the namespace of the wrapper element for RPC style messages| Optional| urn:someNamespace
The following example illustrates the SOAP {{fault}} element.
At line 164 changed 5 lines.
&lt;definitions .... >
&lt;binding .... >
&lt;operation .... >
&lt;fault>*
&lt;soap:fault name="nmtoken" use="literal|encoded"
<definitions .... >
<binding .... >
<operation .... >
<fault>*
<soap:fault name="nmtoken" use="literal|encoded"
At line 170 changed 4 lines.
&lt;/fault>
&lt;/operation>
&lt;/binding>
&lt;/definitions>
</fault>
</operation>
</binding>
</definitions>
At line 176 removed 3 lines.
The __name attribute__ relates the soap:fault to the wsdl:fault defined for the operation. The fault message MUST have a single part. \\ \\
The __use__, __encodingStyle__ and __namespace attributes__ are all used in the same way as with Body, only style="document" is assumed, since faults do not contain parameters.
\\ \\
At line 180 changed 10 lines.
!The SOAP Header and Headerfault Elements
The {{header}} and {{headerfault}} elements allow headers to be defined that are transmitted inside the Header element of the SOAP Envelope. It is not necessary to exhaustively list all headers that appear in the SOAP Envelope using header. For example, extensions to WSDL may imply specific headers should be added to the actual payload and it is not required to list those headers here.
\\ \\
Table&nbsp;6 - SOAP Header Element Attributes
|Property |Description |Required or Optional |Example
|message |Indicates WSDL message that will be used in binding to the header element. |Required |part1
|part |Indicates the parts from the WSDL message that will be included in the header element. |Required |part1
|use |Indicates how message parts will be encoded in the SOAP header. |Required |literal
|encodingStyle |Indicates a particular encoding style to use. |Optional |http://someencodingstyle
|namespace |Indicates the namespace of the wrapper element for RPC style messages. |Optional |urn:someNamespace
The {{name}} attribute relates the {{soap:fault}} to the {{wsdl:fault}} defined for the operation. The fault message must have a single part.
The {{use}}, {{encodingStyle}}, and {{namespace}} attributes are all used in the same way as those used with the {{body}} element, except that {{style}}="document" is assumed, because faults do not contain parameters.
At line 191 changed 7 lines.
Table&nbsp;7 - SOAP Headerfault Element Attributes
|Property |Description |Required or Optional |Example
|name |Indicates WSDL message that will be used in binding to the headerfault element. |Required |part1
|part |Indicates the parts from the WSDL message that will be included in the headerfault element. |Required |part1
|use |Indicates how message parts will be encoded in the SOAP headerfault. |Required |literal
|encodingStyle |Indicates a particular encoding style to use. |Optional |http://someencodingstyle
|namespace |Indicates the namespace of the wrapper element for RPC style messages. |Optional |urn:someNamespace
%%center
[Top|SOAPProcessing]%%
At line 199 changed 1 line.
The following example illustrates the SOAP header and headerfault elements:
!SOAP 1.1 {{header}} and {{headerfault}} Elements
The {{header}} and {{headerfault}} elements enable you to define headers that are transmitted inside the {{header}} element of the SOAP Envelope. You do not have to exhaustively list all headers that appear in the SOAP Envelope using {{header}}. For example, extensions to WSDL may imply specific headers should be added to the actual payload and you do not have to list those headers here.
__Table&nbsp;6 SOAP 1.1 {{header}} Element Attributes__
|| Property|| Description|| Required or Optional|| Example
| message| Indicates the WSDL message that will be used in binding to the header element| Required| part1
| part| Indicates the parts from the WSDL message that will be included in the header element| Required| part1
| use| Indicates how message parts will be encoded in the SOAP header| Required| literal
| encodingStyle| Indicates a particular encoding style to use| Optional| http://someEncodingStyle
| namespace| Indicates the namespace of the wrapper element for RPC style messages| Optional| urn:someNamespace
__Table&nbsp;7 SOAP 1.1 {{headerfault}} Element Attributes__
|| Property|| Description|| Required or Optional|| Example
| name| Indicates the WSDL message that will be used in binding to the headerfault element| Required| part1
| part| Indicates the parts from the WSDL message that will be included in the headerfault element| Required| part1
| use| Indicates how message parts will be encoded in the SOAP headerfault| Required| literal
| encodingStyle| Indicates a particular encoding style to use| Optional| http://someEncodingStyle
| namespace| Indicates the namespace of the wrapper element for RPC style messages| Optional| urn:someNamespace
The following example illustrates the SOAP {{header}} and {{headerfault}} elements.
At line 201 changed 5 lines.
&lt;definitions .... >
&lt;binding .... >
&lt;operation .... >
&lt;input>
&lt;soap:header message="qname" part="nmtoken" use="literal|encoded"
<definitions .... >
<binding .... >
<operation .... >
<input>
<soap:header message="qname" part="nmtoken" use="literal|encoded"
At line 207 changed 1 line.
&lt;soap:headerfault message="qname" part="nmtoken" use="literal|encoded"
<soap:headerfault message="qname" part="nmtoken" use="literal|encoded"
At line 209 changed 4 lines.
&lt;soap:header>
&lt;/input>
&lt;output>
&lt;soap:header message="qname" part="nmtoken" use="literal|encoded"
<soap:header>
</input>
<output>
<soap:header message="qname" part="nmtoken" use="literal|encoded"
At line 214 changed 1 line.
&lt;soap:headerfault message="qname" part="nmtoken" use="literal|encoded"
<soap:headerfault message="qname" part="nmtoken" use="literal|encoded"
At line 216 changed 5 lines.
&lt;soap:header>
&lt;/output>
&lt;/operation>
&lt;/binding>
&lt;/definitions>
<soap:header>
</output>
</operation>
</binding>
</definitions>
At line 223 removed 5 lines.
The __use__, __encodingStyle__ and __namespace attributes__ are all used in the same way as with Body, only style="document" is assumed since headers do not contain parameters.
\\ \\
Together, the __message attribute__ (of type QName) and the __part attribute__ (of type nmtoken) reference the message part that defines the header type.
\\ \\
The optional __headerfault elements__ which appear inside the header and have the same syntax as the header, allow specification of the header types used to transmit error information pertaining to the header, and defined by the header. The SOAP specification states that errors pertaining to headers must be returned in the headers. This mechanism allows specification of the format of such headers.
At line 229 changed 1 line.
[Previous|HTTPBindingComponentExampleScenario] [Next|HTTPProcessing]
The {{use}}, {{encodingStyle}}, and {{namespace}} attributes are all used in the same way as those used with the {{body}} element, except that {{style}}="document" is assumed because headers do not contain parameters.
Together, the {{message}} attribute (of type {{QName}}) and the {{part}} attribute (of type {{nmtoken}}) reference the message part that defines the {{header}} type.
The optional {{headerfault}} elements that appear inside the header and have the same syntax as the header, enable you to specify the header types used to transmit error information pertaining to the header, and defined by the header. The SOAP specification states that errors pertaining to headers must be returned in the headers. This mechanism enables you to specify the format of such headers.
\\
%%center
[Top|SOAPProcessing]%%
!!SOAP 1.2 WSDL Extensibility Elements
The SOAP 1.2 WSDL extensibility elements enable you to configure two sets of information for the HTTP Binding Component: SOAP 1.2 connectivity information, and binding information to convert WSDL messages to and from SOAP messages.
* The only SOAP 1.2 Connectivity Element is SOAP 1.2 address Element\\
* SOAP 1.2 Binding Elements elements include the following:\\
** SOAP 1.2 {{binding}} Element\\
** SOAP 1.2 {{operation}} Element\\
** SOAP 1.2 {{body}} Element\\
** SOAP 1.2 {{fault}} Element\\
** SOAP 1.2 {{header}} and {{headerfault}} Elements\\
\\
%%center
[Top|SOAPProcessing]%%
!!SOAP 1.2 Connectivity Element
The only SOAP 1.2 Connectivity element is the {{address}} element.
!SOAP 1.2 address Element
The SOAP 1.2 {{address}} extensibility element specifies the URL address used to connect to the SOAP server.
__Table&nbsp;8 SOAP 1.2 {{address}} Element Attributes__
|| Property|| Description|| Required or Optional|| Example
| location| A URL address used to connect to the SOAP server| Required| http://myhost:7676/mars/kb423
The following example illustrates the use of the SOAP 1.2 {{address}} element.
{{{
<service name="echoService">
<port name="echoPort" binding="tns:echoBinding">
<soap12:address location="http://localhost:9080/echoService/echoPort"/>
</port>
</service>
}}}
%%information
Note - The required {{location}} attribute (of type {{xs:anyURI}}) is a URI at which the endpoint can be accessed. The value of the {{location}} attribute cannot be a relative URI. The URI scheme specified must correspond to the transport or transfer protocol specified by the {{soap12:binding/@transport}} attribute of the corresponding {{wsdl:binding}} of the containing {{wsdl:port}}.\\
%%
\\
%%center
[Top|SOAPProcessing]%%
!!SOAP 1.2 Binding Elements
The SOAP 1.2 extensibility elements for binding abstract WSDL messages to SOAP 1.2 messages fall into several sections or levels.
Each level signifies how the binding should occur:
* binding level &mdash; the configuration applies to the entire port type\\
* operation level &mdash; the configuration applies only to the operation\\
* message level &mdash; the configuration applies to that particular message, whether the message is input or output\\
!SOAP 1.2 {{binding}} Element
The SOAP 1.2 extensibility elements, for binding abstract WSDL messages to SOAP 1.2 messages, fall into different sections or levels.
Each level signifies how the binding should occur:
* binding level &mdash; the configuration applies to the entire port type\\
* operation level &mdash; the configuration applies only to the operation\\
* message level &mdash; the configuration applies to that particular message, whether the message is input or output\\
__Table&nbsp;9 SOAP 1.2 {{binding}} Element Attributes__
|| Property|| Description|| Required or Optional|| Example
| transport&nbsp;&nbsp;| Indicates to which transport of SOAP this binding corresponds| Optional| http://schemas.xmlsoap.org/soap/http
| style&nbsp;&nbsp;| Indicates the default style of this particular SOAP binding| Optional| rpc
The SOAP 1.2 {{binding}} element must be present when using the SOAP binding. The following example illustrates the use of the SOAP 1.2 {{binding}} element.
{{{
<wsdl:definitions ...>
...
<wsdl:binding ...>
<soap12:binding style="rpc|document" ? transport="xs:anyURI"wsdl:required="xs:boolean" ? />
}}}
%%information
Note - Code samples on this page might be wrapped for display purposes.\\
%%
The {{style}} attribute value is the default style attribute for each contained operation. If the style attribute is omitted, the value is assumed to be "document".
The value of the required {{transport}} attribute indicates the transport to use to deliver SOAP messages. The URI value {{http://schemas.xmlsoap.org/soap/http}} corresponds to the HTTP binding in the SOAP specification. Other URIs may be used here to indicate other transports such as SMTP, FTP, and so forth.
\\
%%center
[Top|SOAPProcessing]%%
!SOAP 1.2 {{operation}} Element
The SOAP 1.2 {{operation}} element provides binding information from the abstract operation to the concrete SOAP operation.
__Table&nbsp;10 SOAP 1.2 {{operation}} Element Attributes__
|| Property|| Description|| Required or Optional|| Example
| soapAction| Indicates the action parameter carried in the application/soap+xml Content-Type header field| Optional| urn:someSoapAction
| style&nbsp;| Indicates the default style of this particular SOAP operation| Optional| rpc
| soapActionRequired| Indicates whether the value of the soapAction attribute is or is not required to be part of request message| Optional| true
The following example illustrates the use of the SOAP {{operation}} element.
{{{
<definitions ....>;
<binding .... >;
<operation .... >;
<soap12:operation soapAction="xs:anyURI" ?
soapActionRequired="xs:boolean" ?
style="rpc|document" ?
wsdl:required="xs:boolean" ? /> ?
</soap12:operation>
</binding>;
</definitions>
}}}
The {{style}} attribute value, if present, is a string that specifies the style for the operation. The {{style}} attribute indicates whether the operation is RPC-oriented (a messages containing parameters and return values) or document-oriented (a message containing documents). If the {{style}} attribute is omitted from the {{soap12:operation}} element, then the operation inherits the style specified or implied by the {{soap12:binding}} element in the containing {{wsdl:binding}} element.
The {{soapAction}} attribute (of type {{xs:anyURI}}) specifies the value of the action parameter, carried in the {{application/soap+xml}} Content-Type header field, for this operation. The value of this attribute must be an absolute URI.
The {{soapActionRequired}} attribute (of type {{xs:Boolean}}), if present, indicates whether the value of the {{soapAction}} attribute is or is not required to be conveyed in the request message. If the {{soapActionRequired}} attribute is omitted, its value defaults to {{true}}. When the value of {{soapActionRequired}} is {{true}}, the {{soapAction}} attribute must be present
\\
%%center
[Top|SOAPProcessing]%%
!SOAP 1.2 {{body}} Element
The SOAP 1.2 {{body}} element specifies how the message parts appear within the SOAP {{body}} element.
__Table&nbsp;11 SOAP 1.2 {{body}} Element Attributes__
|| Property|| Description|| Required or Optional|| Example
| parts | Indicates the parts from the WSDL message that will be included in the body element| Optional| part1
| use| Indicates how message parts are encoded in the SOAP body| Optional| literal
| encodingStyle| Indicates a particular encoding style to use| Optional| http://someEncodingStyle
| namespace| Indicates the namespace of the wrapper element for RPC style messages| Optional| urn:someNamespace
The following example illustrates the SOAP 1.2 {{body}} element.
{{{
<wsdl:definitions ... >
<wsdl:binding ... >
<wsdl:operation ... >
<wsdl:input>
<soap12:body parts="soap12:tParts" ?
namespace="xs:anyURI" ?
use="literal|encoded" ?
encodingStyle="xs:anyURI" ? ... />
...
</wsdl:input>
<wsdl:output>
<soap12:body parts="soap12:tParts ?
namespace="xs:anyURI" ?
use="literal|encoded" ?
encodingStyle="xs:anyURI" ? ... />
...
</wsdl:output>
</wsdl:operation>
...
</wsdl:binding>
...
</wsdl:definitions>
}}}
The optional {{parts}} attribute (of type {{soap12:tParts}}, which is a list of xs:NMTOKENs) indicates which message parts are bound to the SOAP 1.2 {{body}} element of the message. Other message parts may be bound to other portions of the message, such as when SOAP is used in conjunction with the multipart/related MIME binding, or when bound as SOAP header blocks. If the {{parts}} attribute is omitted, then all of the parts defined by the associated wsdl:message are assumed to be included in the SOAP body.
The {{use}} attribute, if present, indicates whether the message parts are encoded using some encoding rules, or the parts define the concrete schema of the message. If the value is "{{encoded}}" the message parts are encoded using encoding rules that are specified by the value, actual or implied, of the {{encodingStyle}} attribute. If the value is "{{literal}}" then the message parts are literally defined by the schema types referenced.
The {{encodingStyle}} attribute (of type{{ xs:anyURI}}), if present, identifies the set of encoding rules used to construct the message. This attribute must not be present unless the {{style}} attribute of the {{soap12:binding}} element of the containing wsdl:binding has a value of &ldquo;{{rpc}}&rdquo; and the {{use}} attribute on the containing {{soap12:body}} element has a value of "{{encoded}}". The value of the {{encodingStyle}} attribute, if present, must not be a relative URI.
\\
%%center
[Top|SOAPProcessing]%%
!SOAP 1.2 {{fault}} Element
The {{fault}} element specifies the contents of SOAP 1.2 {{Fault Details}} element. It is patterned after the {{body}} element.
__Table&nbsp;12 SOAP 1.2 {{fault}} Element Attributes__
|| Property|| Description|| Required or Optional|| Example
| name| Indicates the name of the part from the WSDL message that will be included in the fault element| Required| part1
| use| Indicates how message parts will be encoded in the SOAP 1.2 fault| Required| literal
| encodingStyle| Indicates a particular encoding style to use| Optional| http://someEncodingStyle
| namespace| Indicates the namespace of the wrapper element for RPC style messages| Optional| urn:someNamespace
The following example illustrates the SOAP {{fault}} element.
{{{
<wsdl:definitions ... >
...
<wsdl:binding ... >
...
<wsdl:operation ... >
...
<wsdl:fault ... >*
<soap12:fault name="xs:NMTOKEN"
namespace="xs:anyURI" ?
use="literal|encoded" ?
encodingStyle="xs:anyURI" ? ... />
...
</wsdl:fault>
</wsdl:operation>
...
</wsdl:binding>
...
</wsdl:definitions>
}}}
The {{name}} attribute (of type {{xs:NMTOKEN}}) associates the corresponding {{wsdl:fault}} defined in the {{wsdl:portType}} for the containing {{wsdl:operation}}.
The {{use}} attribute, if present, indicates whether the message parts are encoded using some encoding rules, or whether the parts define the concrete schema of the message. If the value is "{{encoded}}" the message parts are encoded using some encoding rules as specified by the value, actual or implied, of the {{encodingStyle}} attribute. If the value is "{{literal}}" then the message parts are literally defined by the schema types referenced.
The {{namespace}} attribute (of type {{xs:anyURI}}), if present, defines the namespace to be assigned to the {{wrapper}} element for the fault. This attribute is ignored if the {{style}} attribute of either the {{soap12:binding}} element of the containing {{wsdl:binding}} or of the{{ soap12:operation}} element of the containing {{wsdl:operation}} is either omitted or has a value of &ldquo;{{document}}&rdquo;. This attribute must be present if the value of the {{style}} attribute of the {{soap12:binding}} element of the containing {{wsdl:binding}} is &ldquo;{{rpc}}&rdquo;. The value of the {{namespace}} attribute must not be a relative URI.
The {{encodingStyle}} attribute (of type {{xs:anyURI}}), if present, identifies the set of encoding rules used to construct the fault message. This attribute must not be present unless the {{style}} attribute of the {{soap12:binding}} element of the containing {{wsdl:binding}} has a value of &ldquo;{{rpc}}&rdquo; and the {{use}} attribute on the containing {{soap12:body}} element has a value of "{{encoded}}". The value of the {{encodingStyle}} attribute must not be a relative URI.
\\
%%center
[Top|SOAPProcessing]%%
!SOAP 1.2 {{header}} and {{headerfault}} Elements
The {{header}} and {{headerfault}} elements enable you to define headers that are transmitted inside the {{header}} element of the SOAP Envelope. You do not have to exhaustively list all headers that appear in the SOAP 1.2 Envelope using {{header}}. For example, extensions to WSDL may imply specific headers should be added to the actual payload and you do not have to list those headers here.
__Table&nbsp;13 SOAP 1.2 {{header}} Element Attributes__
|| Property|| Description|| Required or Optional|| Example
| message| Indicates the WSDL message that will be used in binding to the header element| Required| part1
| part| Indicates the parts from the WSDL message that will be included in the header element| Required| part1
| use| Indicates how message parts will be encoded in the SOAP header| Required| literal
| encodingStyle| Indicates a particular encoding style to use| Optional| http://someEncodingStyle
| namespace| Indicates the namespace of the wrapper element for RPC style messages| Optional| urn:someNamespace
The following example illustrates the SOAP 1.2 {{header}} element.
{{{
<wsdl:definitions ... >
...
<wsdl:binding ... >
...
<wsdl:operation ... >
...
<wsdl:input ... >*
<soap12:header message="xs:QName"
part="xs:NMTOKEN"
use="literal|encoded"
namespace="xs:anyURI" ?
encodingStyle="xs:anyURI" ? ... /> *
...
</wsdl:input>
<wsdl:output ... >*
<soap12:header message="xs:QName"
part="xs:NMTOKEN"
use="literal|encoded"
namespace="xs:anyURI" ?
encodingStyle="xs:anyURI" ? ... /> *
...
</wsdl:output>
</wsdl:operation>
...
</wsdl:binding>
...
</wsdl:definitions>
}}}
The {{message}} attribute (of type {{xs:QName}}), together with the {{parts}} attribute, indicates which message parts are bound as children of the SOAP 1.2 {{header}} element of the message. The referenced message does not need to be the same as the message that defines the SOAP Body.
The {{parts}} attribute (of type {{xs:NMTOKEN}}), together with the {{message}} attribute, indicates which message part is bound as a child of the SOAP 1.2 {{header}} element of the message.
The {{namespace}} attribute (of type {{xs:anyURI}}), if present, defines the namespace to be assigned to the header element serialized with {{use="encoded"}}. In all cases, the header is constructed as if the {{style}} attribute of the {{wsoap12:binding}} element, of the containing {{wsdl:binding}}, has a value of &ldquo;{{document}}&rdquo;. The value of the {{namespace}} attribute, if present, must not be a relative URI.
The {{use}} attribute indicates whether the message parts are encoded using some encoding rules, or whether the parts define the concrete schema of the message. If the value is "{{encoded}}" the message parts are encoded using some encoding rules as specified by the value, actual or implied, of the {{encodingStyle}} attribute. If the value is "{{literal}}" then the message parts are literally defined by the schema types referenced.
The {{encodingStyle}} attribute (of type {{xs:anyURI}}), if present, identifies the set of encoding rules used to construct the message. This attribute must not be present unless the {{style}} attribute, of the {{soap12:binding}} element, of the containing {{wsdl:binding}}, has a value of &ldquo;{{rpc}}&rdquo; and the {{use}} attribute, on the containing {{soap12:body}} element, has a value of "{{encoded}}". The value of the {{encodingStyle}} attribute, if present, must not be a relative URI.
{{/soap12:header/@{any}}}}} is an extensibility mechanism that enables additional attributes, that are defined in a foreign namespace, to be added to the element.
Optional {{soap12:headerfault}} elements, which appear inside {{wsoap12:header}} elements, specify the header types used to transmit error information pertaining to the header, defined by the {{soap12:header}}.
__Table&nbsp;14 SOAP 1.2 {{headerfault}} Element Attributes__
|| Property|| Description|| Required or Optional|| Example
| message| Indicates the WSDL message that will be used in binding to the headerfault element| Required| part1
| part| Indicates the parts from the WSDL message that will be included in the headerfault element| Required| part1
| use| Indicates how message parts will be encoded in the SOAP headerfault| Required| literal
| encodingStyle| Indicates a particular encoding style to use| Optional| http://someEncodingStyle
| namespace| Indicates the namespace of the wrapper element for RPC style messages| Optional| urn:someNamespace
The following example illustrates the SOAP 1.2 {{headerfault}} element.
{{{
<wsdl:definitions ... >
...
<wsdl:binding ... >
...
<wsdl:operation ... >
...
<wsdl:input ... >
<soap12:header ... >
<soap12:headerfault message="xs:QName"
part="xs:NMTOKEN"
use="literal|encoded"
namespace="xs:anyURI" ?
encodingStyle="xs:anyURI" ?
... /> *
</soap12:header> *
...
</wsdl:input> *
<wsdl:output ... >
<soap12:header ... >
<soap12:headerfault message="xs:QName"
part="xs:NMTOKEN"
use="literal|encoded"
namespace="xs:anyURI" ?
encodingStyle="xs:anyURI" ?
... /> *
</soap12:header> *
...
</wsdl:output> *
</wsdl:operation>
...
</wsdl:binding>
...
</wsdl:definitions>
}}}
The {{headerfault}} elements, which appear inside header and have the same syntax as header, enable you to specify the header types that are used to transmit error information pertaining to the header, defined by the header. The SOAP specification states that errors pertaining to headers must be returned in headers, and this mechanism enables you to specify the format of such headers.
The {{message}} attribute (of type {{xs:QName}}), together with the {{parts}} attribute, indicates which message part is to be bound as a child of the SOAP 1.2 {{header}} element of the message, for returning faults pertaining to the enclosing {{soap12:header}}. The referenced message does not need to be the same as the message that defines the SOAP Body.
The {{parts}} attribute (of type {{xs:NMTOKEN}}), together with the {{message}} attribute, indicates which message part is to be bound as a child of the SOAP 1.2 {{header}} element of the message for returning faults pertaining to the enclosing {{soap12:header. }}
The {{namespace}} attribute (of type {{xs:anyURI}}), if present, defines the namespace to be assigned to the wrapper element for an {{rpc-style}} operation. This attribute is ignored if the {{style}} attribute of either the {{soap12:binding}} element, of the containing {{wsdl:binding}} or of the {{soap12:operation}} element of the containing {{wsdl:operation}}, is either omitted or has a value of &ldquo;{{document}}&rdquo;. This attribute must be present if the value of the {{style}} attribute of the {{soap12:binding}} element of the containing {{wsdl:binding}} is &ldquo;{{rpc}}&rdquo;. The value of the {{namespace}} attribute, must notbe a relative URI.
The {{use}} attribute indicates whether the message parts are encoded using some encoding rules, or whether the parts define the concrete schema of the message. If the value is "{{encoded}}" the message parts are encoded using some encoding rules, as specified by the value, actual or implied, of the {{encodingStyle}} attribute. If the value is "{{literal}}" then the message parts are literally defined by the schema types referenced.
The {{encodingStyle}} attribute (of type {{xs:anyURI}}), if present, identifies the set of encoding rules used to construct the message. This attribute must not be present unless the {{style}} attribute, of the {{soap12:binding}} element, of the containing {{wsdl:binding}}, has a value of &ldquo;{{rpc}}&rdquo; and the {{use}} attribute on the containing {{soap12:body}} element has a value of "{{encoded}}". The value of the {{encodingStyle}} attribute must not be a relative URI.
{{/soap12:headerfault/@{any}}}}} is an extensibility mechanism that enables additional attributes, defined in a foreign namespace, to be added to the element.
\\
!!WS-I Basic Profile 1.1
The HTTP Binding Component conforms to the Basic Profile 1.1 Web service specification.
\\
%%center
[Top|SOAPProcessing]%%
\\
[Previous|HTTPBindingComponentExampleScenario]\\
[Next|HTTPProcessing]

JSPWiki v2.4.100
[RSS]
« Home Index Changes Prefs
This page (revision-16) was last changed on 08-May-09 15:33 PM, -0700 by rjacobus