cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache CXF Documentation > SOAP 1.1
Date Tue, 22 Jan 2013 11:10:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/2042/9/1/_/styles/combined.css?spaceKey=CXF20DOC&amp;forWysiwyg=true"
type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://cwiki.apache.org/confluence/display/CXF20DOC/SOAP+1.1">SOAP
1.1</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~coheigea@apache.org">Colm
O hEigeartaigh</a>
    </h4>
        <br/>
                         <h4>Changes (1)</h4>
                                 
    
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
    
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >h3. Syntax <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >The syntax for defining a SOAP
header is shown in *SOAP Header Syntax*. The {{message}} attribute of {{soap:header}} is the
qualified name of the message from which the part being inserted into the header is taken.
The <span class="diff-changed-words">{{part}}<span class="diff-added-chars"style="background-color:
#dfd;"> </span>attribute</span> is the name of the message part inserted into
the SOAP header. Because SOAP headers are always document style, the WSDL message part inserted
into the SOAP header must be defined using an element. Together the message and the part attributes
fully describe the data to insert into the SOAP header. <br></td></tr>
            <tr><td class="diff-unchanged" > <br>{code:title=SOAP Header
Syntax} <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h2><a name="SOAP1.1-AddingaSOAP1.1Binding"></a>Adding a SOAP 1.1
Binding</h2>


<h3><a name="SOAP1.1-Usingwsdltosoap"></a>Using wsdltosoap</h3>

<p>To generate a SOAP 1.1 binding using <b>wsdltosoap</b> use the following
command:</p>
<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent
panelContent">
<pre>wsdl2soap [[-?] | [-help] | [-h]] {-iport-type-name} [-bbinding-name] [-doutput-directory]
[-ooutput-file]
[-nsoap-body-namespace] [-style (document/rpc)] [-use (literal/encoded)] [-v ] [[ -verbose
] |  [ -quiet ]] wsdlurl
</pre>
</div></div>

<p>The command has the following options:</p>
<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'>Option</th>
<th class='confluenceTh'>Interpretation</th>
</tr>
<tr>
<td class='confluenceTd'> -? </td>
<td class='confluenceTd'> Displays the online help for this utility. </td>
</tr>
<tr>
<td class='confluenceTd'> -help </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> -h </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> -iport-type-name </td>
<td class='confluenceTd'> Specifies the portType element for which a binding should
be generated. </td>
</tr>
<tr>
<td class='confluenceTd'> -bbinding-name </td>
<td class='confluenceTd'> Specifies the name of the generated SOAP binding. </td>
</tr>
<tr>
<td class='confluenceTd'> -doutput-directory </td>
<td class='confluenceTd'> Specifies the directory to place generated WSDL file. </td>
</tr>
<tr>
<td class='confluenceTd'> -ooutput-file </td>
<td class='confluenceTd'> Specifies the name of the generated WSDL file. </td>
</tr>
<tr>
<td class='confluenceTd'> -nsoap-body-namespace </td>
<td class='confluenceTd'> Specifies the SOAP body namespace when the style is RPC. </td>
</tr>
<tr>
<td class='confluenceTd'> -style (document/rpc) </td>
<td class='confluenceTd'> Specifies the encoding style (document or RPC) to use in the
SOAP binding. The default is document. </td>
</tr>
<tr>
<td class='confluenceTd'> -use (literal/encoded) </td>
<td class='confluenceTd'> Specifies the binding use (encoded or literal) to use in the
SOAP binding. The default is literal. </td>
</tr>
<tr>
<td class='confluenceTd'> -v </td>
<td class='confluenceTd'> Displays the version number for the tool. </td>
</tr>
<tr>
<td class='confluenceTd'> -verbose </td>
<td class='confluenceTd'> Displays comments during the code generation process. </td>
</tr>
<tr>
<td class='confluenceTd'> -quiet </td>
<td class='confluenceTd'> Suppresses comments during the code generation process. </td>
</tr>
<tr>
<td class='confluenceTd'> wsdlurl </td>
<td class='confluenceTd'> The path and name of the WSDL file containing the portType
element definition. </td>
</tr>
</tbody></table>
</div>

<p>The <tt>-i port-type-name</tt> and <tt>wsdlurl</tt> arguments
are required. If the <tt>-style rpc</tt> argument is specified, the <tt>-n
soap-body-namspace</tt> argument is also required. All other arguments are optional
and may be listed in any order.</p>
<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td
valign='top'><img src="/confluence/images/icons/emoticons/information.gif" width="16"
height="16" align="absmiddle" alt="" border="0"></td><td><b>wsdltosoap</b>
does not support the generation of document/encoded SOAP bindings.</td></tr></table></div>

<h3><a name="SOAP1.1-Example"></a>Example</h3>

<p>If your system had an interface that took orders and offered a single operation to
process the orders it would be defined in a WSDL document similar to the one shown below.</p>

<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader"
style="border-bottom-width: 1px;"><b>Ordering System Interface</b></div><div
class="codeContent panelContent">
<pre class="code-java">
&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;
&lt;definitions name=<span class="code-quote">"widgetOrderForm.wsdl"</span>
    targetNamespace=<span class="code-quote">"http:<span class="code-comment">//widgetVendor.com/widgetOrderForm"</span>
</span>    xmlns=<span class="code-quote">"http:<span class="code-comment">//schemas.xmlsoap.org/wsdl/"</span>
</span>    xmlns:soap=<span class="code-quote">"http:<span class="code-comment">//schemas.xmlsoap.org/wsdl/soap/"</span>
</span>    xmlns:tns=<span class="code-quote">"http:<span class="code-comment">//widgetVendor.com/widgetOrderForm"</span>
</span>    xmlns:xsd=<span class="code-quote">"http:<span class="code-comment">//www.w3.org/2001/XMLSchema"</span>
</span>    xmlns:xsd1=<span class="code-quote">"http:<span class="code-comment">//widgetVendor.com/types/widgetTypes"</span>
</span>    xmlns:SOAP-ENC=<span class="code-quote">"http:<span class="code-comment">//schemas.xmlsoap.org/soap/encoding/"</span>&gt;
</span>
&lt;message name=<span class="code-quote">"widgetOrder"</span>&gt;
  &lt;part name=<span class="code-quote">"numOrdered"</span> type=<span
class="code-quote">"xsd:<span class="code-object">int</span>"</span>/&gt;
&lt;/message&gt;
&lt;message name=<span class="code-quote">"widgetOrderBill"</span>&gt;
  &lt;part name=<span class="code-quote">"price"</span> type=<span class="code-quote">"xsd:<span
class="code-object">float</span>"</span>/&gt;
&lt;/message&gt;
&lt;message name=<span class="code-quote">"badSize"</span>&gt;
  &lt;part name=<span class="code-quote">"numInventory"</span> type=<span
class="code-quote">"xsd:<span class="code-object">int</span>"</span>/&gt;
&lt;/message&gt;

&lt;portType name=<span class="code-quote">"orderWidgets"</span>&gt;
  &lt;operation name=<span class="code-quote">"placeWidgetOrder"</span>&gt;
    &lt;input message=<span class="code-quote">"tns:widgetOrder"</span> name=<span
class="code-quote">"order"</span>/&gt;
    &lt;output message=<span class="code-quote">"tns:widgetOrderBill"</span>
name=<span class="code-quote">"bill"</span>/&gt;
    &lt;fault message=<span class="code-quote">"tns:badSize"</span> name=<span
class="code-quote">"sizeFault"</span>/&gt;
  &lt;/operation&gt;
&lt;/portType&gt;
...
&lt;/definitions&gt;
</pre>
</div></div>

<p>The SOAP binding generated for orderWidgets is shown below.</p>

<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader"
style="border-bottom-width: 1px;"><b>Binding for orderWidgets</b></div><div
class="codeContent panelContent">
<pre class="code-java">
&lt;binding name=<span class="code-quote">"orderWidgetsBinding"</span> type=<span
class="code-quote">"tns:orderWidgets"</span>&gt;
  &lt;soap:binding style=<span class="code-quote">"document"</span> transport=<span
class="code-quote">"http:<span class="code-comment">//schemas.xmlsoap.org/soap/http"</span>/&gt;
</span>    &lt;operation name=<span class="code-quote">"placeWidgetOrder"</span>&gt;
      &lt;soap:operation soapAction=<span class="code-quote">"" style="</span>document"/&gt;
      &lt;input name=<span class="code-quote">"order"</span>&gt;
        &lt;soap:body use=<span class="code-quote">"literal"</span>/&gt;
      &lt;/input&gt;
      &lt;output name=<span class="code-quote">"bill"</span>&gt;
        &lt;soap:body use=<span class="code-quote">"literal"</span>/&gt;
      &lt;/output&gt;
      &lt;fault name=<span class="code-quote">"sizeFault"</span>&gt;
        &lt;soap:body use=<span class="code-quote">"literal"</span>/&gt;
      &lt;/fault&gt;
  &lt;/operation&gt;
&lt;/binding&gt;
</pre>
</div></div>
<p>This binding specifies that messages are sent using the document/literal message
style.</p>

<h2><a name="SOAP1.1-AddingSOAPHeaderstoaSOAP1.1Binding"></a>Adding SOAP
Headers to a SOAP 1.1 Binding</h2>


<h3><a name="SOAP1.1-Overview"></a>Overview</h3>

<p>SOAP headers are defined by adding <tt>soap:header</tt> elements to your
default SOAP 1.1 binding. The <tt>soap:header</tt> element is an optional child
of the <tt>input</tt>, <tt>output</tt>, and <tt>fault</tt>
elements of the binding. The SOAP header becomes part of the parent message. A SOAP header
is defined by specifying a message and a message part. Each SOAP header can only contain one
message part, but you can insert as many SOAP headers as needed.</p>

<h3><a name="SOAP1.1-Syntax"></a>Syntax</h3>

<p>The syntax for defining a SOAP header is shown in <b>SOAP Header Syntax</b>.
The <tt>message</tt> attribute of <tt>soap:header</tt> is the qualified
name of the message from which the part being inserted into the header is taken. The <tt>part</tt>
attribute is the name of the message part inserted into the SOAP header. Because SOAP headers
are always document style, the WSDL message part inserted into the SOAP header must be defined
using an element. Together the message and the part attributes fully describe the data to
insert into the SOAP header.</p>

<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader"
style="border-bottom-width: 1px;"><b>SOAP Header Syntax</b></div><div
class="codeContent panelContent">
<pre class="code-java">
&lt;binding name=<span class="code-quote">"headwig"</span>&gt;
  &lt;soap:binding style=<span class="code-quote">"document"</span>
                transport=<span class="code-quote">"http:<span class="code-comment">//schemas.xmlsoap.org/soap/http"</span>/&gt;
</span>    &lt;operation name=<span class="code-quote">"weave"</span>&gt;
      &lt;soap:operation soapAction=<span class="code-quote">"" style="</span>document"/&gt;
      &lt;input name=<span class="code-quote">"grain"</span>&gt;
        &lt;soap:body .../&gt;
        &lt;soap:header message=<span class="code-quote">"QName"</span> part=<span
class="code-quote">"partName"</span>/&gt;
      &lt;/input&gt;
...
&lt;/binding&gt;
</pre>
</div></div>

<p>As well as the mandatory <tt>message</tt> and <tt>part</tt>
attributes, <tt>soap:header</tt> also supports the <tt>namespace</tt>,
the <tt>use</tt>, and the <tt>encodingStyle</tt> attributes. These
optional attributes function the same for <tt>soap:header</tt> as they do for
<tt>soap:body</tt>.</p>

<h3><a name="SOAP1.1-Splittingmessagesbetweenbodyandheader"></a>Splitting
messages between body and header</h3>

<p>The message part inserted into the SOAP header can be any valid message part from
the contract. It can even be a part from the parent message which is being used as the SOAP
body. Because it is unlikely that you would want to send information twice in the same message,
the SOAP binding provides a means for specifying the message parts that are inserted into
the SOAP body.</p>

<p>The <tt>soap:body</tt> element has an optional attribute, <tt>parts</tt>,
that takes a space delimited list of part names. When <tt>parts</tt> is defined,
only the message parts listed are inserted into the SOAP body. You can then insert the remaining
parts into the SOAP header.</p>
<div class='panelMacro'><table class='infoMacro'><colgroup><col width='24'><col></colgroup><tr><td
valign='top'><img src="/confluence/images/icons/emoticons/information.gif" width="16"
height="16" align="absmiddle" alt="" border="0"></td><td>When you define a
SOAP header using parts of the parent message, CXF automatically fills in the SOAP headers
for you.</td></tr></table></div>

<h3><a name="SOAP1.1-Example"></a>Example</h3>

<p><b>SOAP 1.1 Binding with a SOAP Header</b> shows a modified version of
the orderWidgets service shown in <b>Ordering System Interface</b>. This version
has been modified so that each order has an <tt>xsd:base64binary</tt> value placed
in the SOAP header of the request and response. The SOAP header is defined as being the <tt>keyVal</tt>
part from the <tt>widgetKey</tt> message. In this case you would be responsible
for adding the SOAP header in your application logic because it is not part of the input or
output message.</p>

<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader"
style="border-bottom-width: 1px;"><b>SOAP 1.1 Binding with a SOAP Header</b></div><div
class="codeContent panelContent">
<pre class="code-java">
&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;
&lt;definitions name=<span class="code-quote">"widgetOrderForm.wsdl"</span>
    targetNamespace=<span class="code-quote">"http:<span class="code-comment">//widgetVendor.com/widgetOrderForm"</span>
</span>    xmlns=<span class="code-quote">"http:<span class="code-comment">//schemas.xmlsoap.org/wsdl/"</span>
</span>    xmlns:soap=<span class="code-quote">"http:<span class="code-comment">//schemas.xmlsoap.org/wsdl/soap/"</span>
</span>    xmlns:tns=<span class="code-quote">"http:<span class="code-comment">//widgetVendor.com/widgetOrderForm"</span>
</span>    xmlns:xsd=<span class="code-quote">"http:<span class="code-comment">//www.w3.org/2001/XMLSchema"</span>
</span>    xmlns:xsd1=<span class="code-quote">"http:<span class="code-comment">//widgetVendor.com/types/widgetTypes"</span>
</span>    xmlns:SOAP-ENC=<span class="code-quote">"http:<span class="code-comment">//schemas.xmlsoap.org/soap/encoding/"</span>&gt;
</span>
&lt;types&gt;
  &lt;schema targetNamespace=<span class="code-quote">"http:<span class="code-comment">//widgetVendor.com/types/widgetTypes"</span>
</span>           xmlns=<span class="code-quote">"http:<span class="code-comment">//www.w3.org/2001/XMLSchema"</span>
</span>           xmlns:wsdl=<span class="code-quote">"http:<span class="code-comment">//schemas.xmlsoap.org/wsdl/"</span>&gt;
</span>    &lt;element name=<span class="code-quote">"keyElem"</span>
type=<span class="code-quote">"xsd:base64Binary"</span>/&gt;
  &lt;/schema&gt;
&lt;/types&gt;

&lt;message name=<span class="code-quote">"widgetOrder"</span>&gt;
  &lt;part name=<span class="code-quote">"numOrdered"</span> type=<span
class="code-quote">"xsd:<span class="code-object">int</span>"</span>/&gt;
&lt;/message&gt;
&lt;message name=<span class="code-quote">"widgetOrderBill"</span>&gt;
  &lt;part name=<span class="code-quote">"price"</span> type=<span class="code-quote">"xsd:<span
class="code-object">float</span>"</span>/&gt;
&lt;/message&gt;
&lt;message name=<span class="code-quote">"badSize"</span>&gt;
  &lt;part name=<span class="code-quote">"numInventory"</span> type=<span
class="code-quote">"xsd:<span class="code-object">int</span>"</span>/&gt;
&lt;/message&gt;
&lt;message name=<span class="code-quote">"widgetKey"</span>&gt;
  &lt;part name=<span class="code-quote">"keyVal"</span> element=<span
class="code-quote">"xsd1:keyElem"</span>/&gt;
&lt;/message&gt;

&lt;portType name=<span class="code-quote">"orderWidgets"</span>&gt;
  &lt;operation name=<span class="code-quote">"placeWidgetOrder"</span>&gt;
    &lt;input message=<span class="code-quote">"tns:widgetOrder"</span> name=<span
class="code-quote">"order"</span>/&gt;
    &lt;output message=<span class="code-quote">"tns:widgetOrderBill"</span>
name=<span class="code-quote">"bill"</span>/&gt;
    &lt;fault message=<span class="code-quote">"tns:badSize"</span> name=<span
class="code-quote">"sizeFault"</span>/&gt;
  &lt;/operation&gt;
&lt;/portType&gt;

&lt;binding name=<span class="code-quote">"orderWidgetsBinding"</span> type=<span
class="code-quote">"tns:orderWidgets"</span>&gt;
  &lt;soap:binding style=<span class="code-quote">"document"</span> transport=<span
class="code-quote">"http:<span class="code-comment">//schemas.xmlsoap.org/soap/http"</span>/&gt;
</span>    &lt;operation name=<span class="code-quote">"placeWidgetOrder"</span>&gt;
      &lt;soap:operation soapAction=<span class="code-quote">"" style="</span>document"/&gt;
      &lt;input name=<span class="code-quote">"order"</span>&gt;
        &lt;soap:body use=<span class="code-quote">"literal"</span>/&gt;
        &lt;soap:header message=<span class="code-quote">"tns:widgetKey"</span>
part=<span class="code-quote">"keyVal"</span>/&gt;
      &lt;/input&gt;
      &lt;output name=<span class="code-quote">"bill"</span>&gt;
        &lt;soap:body use=<span class="code-quote">"literal"</span>/&gt;
        &lt;soap:header message=<span class="code-quote">"tns:widgetKey"</span>
part=<span class="code-quote">"keyVal"</span>/&gt;
      &lt;/output&gt;
      &lt;fault name=<span class="code-quote">"sizeFault"</span>&gt;
        &lt;soap:body use=<span class="code-quote">"literal"</span>/&gt;
      &lt;/fault&gt;
  &lt;/operation&gt;
&lt;/binding&gt;
...
&lt;/definitions&gt;
</pre>
</div></div>

<p>You could modify <b>SOAP 1.1 Binding with a SOAP Header</b> so that the
header value was a part of the input and output messages as shown in <b>SOAP 1.1 Binding
for orderWidgets with a SOAP Header</b>. In this case <tt>keyVal</tt> is
a part of the input and output messages. In the <tt>soap:body</tt> element's parts
attribute specifies that <tt>keyVal</tt> is not to be inserted into the body.
However, it is inserted into the SOAP header.</p>

<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader"
style="border-bottom-width: 1px;"><b>SOAP 1.1 Binding for orderWidgets with a SOAP
Header</b></div><div class="codeContent panelContent">
<pre class="code-java">
&lt;?xml version=<span class="code-quote">"1.0"</span> encoding=<span class="code-quote">"UTF-8"</span>?&gt;
&lt;definitions name=<span class="code-quote">"widgetOrderForm.wsdl"</span>
    targetNamespace=<span class="code-quote">"http:<span class="code-comment">//widgetVendor.com/widgetOrderForm"</span>
</span>    xmlns=<span class="code-quote">"http:<span class="code-comment">//schemas.xmlsoap.org/wsdl/"</span>
</span>    xmlns:soap=<span class="code-quote">"http:<span class="code-comment">//schemas.xmlsoap.org/wsdl/soap/"</span>
</span>    xmlns:tns=<span class="code-quote">"http:<span class="code-comment">//widgetVendor.com/widgetOrderForm"</span>
</span>    xmlns:xsd=<span class="code-quote">"http:<span class="code-comment">//www.w3.org/2001/XMLSchema"</span>
</span>    xmlns:xsd1=<span class="code-quote">"http:<span class="code-comment">//widgetVendor.com/types/widgetTypes"</span>
</span>    xmlns:SOAP-ENC=<span class="code-quote">"http:<span class="code-comment">//schemas.xmlsoap.org/soap/encoding/"</span>&gt;
</span>
&lt;types&gt;
  &lt;schema targetNamespace=<span class="code-quote">"http:<span class="code-comment">//widgetVendor.com/types/widgetTypes"</span>
</span>           xmlns=<span class="code-quote">"http:<span class="code-comment">//www.w3.org/2001/XMLSchema"</span>
</span>           xmlns:wsdl=<span class="code-quote">"http:<span class="code-comment">//schemas.xmlsoap.org/wsdl/"</span>&gt;
</span>    &lt;element name=<span class="code-quote">"keyElem"</span>
type=<span class="code-quote">"xsd:base64Binary"</span>/&gt;
  &lt;/schema&gt;
&lt;/types&gt;

&lt;message name=<span class="code-quote">"widgetOrder"</span>&gt;
  &lt;part name=<span class="code-quote">"numOrdered"</span> type=<span
class="code-quote">"xsd:<span class="code-object">int</span>"</span>/&gt;
  &lt;part name=<span class="code-quote">"keyVal"</span> element=<span
class="code-quote">"xsd1:keyElem"</span>/&gt;
&lt;/message&gt;
&lt;message name=<span class="code-quote">"widgetOrderBill"</span>&gt;
  &lt;part name=<span class="code-quote">"price"</span> type=<span class="code-quote">"xsd:<span
class="code-object">float</span>"</span>/&gt;
  &lt;part name=<span class="code-quote">"keyVal"</span> element=<span
class="code-quote">"xsd1:keyElem"</span>/&gt;
&lt;/message&gt;
&lt;message name=<span class="code-quote">"badSize"</span>&gt;
  &lt;part name=<span class="code-quote">"numInventory"</span> type=<span
class="code-quote">"xsd:<span class="code-object">int</span>"</span>/&gt;
&lt;/message&gt;

&lt;portType name=<span class="code-quote">"orderWidgets"</span>&gt;
  &lt;operation name=<span class="code-quote">"placeWidgetOrder"</span>&gt;
    &lt;input message=<span class="code-quote">"tns:widgetOrder"</span> name=<span
class="code-quote">"order"</span>/&gt;
    &lt;output message=<span class="code-quote">"tns:widgetOrderBill"</span>
name=<span class="code-quote">"bill"</span>/&gt;
    &lt;fault message=<span class="code-quote">"tns:badSize"</span> name=<span
class="code-quote">"sizeFault"</span>/&gt;
  &lt;/operation&gt;
&lt;/portType&gt;

&lt;binding name=<span class="code-quote">"orderWidgetsBinding"</span> type=<span
class="code-quote">"tns:orderWidgets"</span>&gt;
  &lt;soap:binding style=<span class="code-quote">"document"</span> transport=<span
class="code-quote">"http:<span class="code-comment">//schemas.xmlsoap.org/soap/http"</span>/&gt;
</span>    &lt;operation name=<span class="code-quote">"placeWidgetOrder"</span>&gt;
      &lt;soap:operation soapAction=<span class="code-quote">"" style="</span>document"/&gt;
      &lt;input name=<span class="code-quote">"order"</span>&gt;
        &lt;soap:body use=<span class="code-quote">"literal"</span> parts=<span
class="code-quote">"numOrdered"</span>/&gt;
        &lt;soap:header message=<span class="code-quote">"tns:widgetOrder"</span>
part=<span class="code-quote">"keyVal"</span>/&gt;
      &lt;/input&gt;
      &lt;output name=<span class="code-quote">"bill"</span>&gt;
        &lt;soap:body use=<span class="code-quote">"literal"</span> parts=<span
class="code-quote">"bill"</span>/&gt;
        &lt;soap:header message=<span class="code-quote">"tns:widgetOrderBill"</span>
part=<span class="code-quote">"keyVal"</span>/&gt;
      &lt;/output&gt;
      &lt;fault name=<span class="code-quote">"sizeFault"</span>&gt;
        &lt;soap:body use=<span class="code-quote">"literal"</span>/&gt;
      &lt;/fault&gt;
  &lt;/operation&gt;
&lt;/binding&gt;
...
&lt;/definitions&gt;
</pre>
</div></div>
    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
        </div>
        <a href="https://cwiki.apache.org/confluence/display/CXF20DOC/SOAP+1.1">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=54077&revisedVersion=3&originalVersion=2">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/CXF20DOC/SOAP+1.1?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message