axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anne Thomas Manes <a...@manes.net>
Subject Re: Very Basic Problem with operation invocation
Date Sat, 20 Mar 2004 15:20:47 GMT
<html>
<body>
Kartik,<br><br>
The SOAP 1.1 spec does not specify how to handle multiple child elements
in the &lt;soap:Body&gt;. Therefore it's unpredictable how a SOAP server
will handle it. <br><br>
Note that there are quite a few cases of underspecification, ambiguity,
and contradiction in the SOAP 1.1 and WSDL 1.1 specifications. These
specs never went through a rigorous review process in a standards
organization. That's the reason why the vendors founded the WS-I
organization ,and why we need the WS-I Basic Profile:<br>
See
<a href="http://www.ws-i.org/Profiles/Basic/2003-08/BasicProfile-1.0a.html" eudora="autourl">http://www.ws-i.org/Profiles/Basic/2003-08/BasicProfile-1.0a.html<br><br>
</a>The WS-I Basic Profile provides an unambiguous clarification on
message parts:<br><br>
<h4><b>5.3.1 Bindings and Parts</b></h4>There are various interpretations
about how many wsdl:part elements are permitted or required for
document-literal and rpc-literal bindings and how they must be defined.
<br><br>
<a name="r2201"></a>R2201 A document-literal binding in a DESCRIPTION
MUST, in each of its soapbind:body element(s), have at most one part
listed in the parts attribute, if the parts attribute is specified.
<br><br>
<a name="r2210"></a>R2210 If a document-literal binding in a DESCRIPTION
does not specify the parts attribute on a soapbind:body element, the
corresponding abstract wsdl:message MUST define zero or one wsdl:parts.
<br><br>
<a name="r2202"></a>R2202 A wsdl:binding in a DESCRIPTION MAY contain
soapbind:body element(s) that specify that zero parts form the soap:Body.
<br><br>
<a name="r2203"></a>R2203 An rpc-literal binding in a DESCRIPTION MUST
refer, in its soapbind:body element(s), only to wsdl:part element(s) that
have been defined using the type attribute. <br><br>
<a name="r2211"></a>R2211 A MESSAGE described with an rpc-literal binding
MUST NOT have the xsi:nil attribute with a value of &quot;1&quot; or
&quot;true&quot; on the part accessors. <br><br>
<a name="r2207"></a>R2207 A wsdl:message in a DESCRIPTION MAY contain
wsdl:parts that use the elements attribute provided those wsdl:parts are
not referred to by a soapbind:body in an rpc-literal binding. <br><br>
<a name="r2204"></a>R2204 A document-literal binding in a DESCRIPTION
MUST refer, in each of its soapbind:body element(s), only to wsdl:part
element(s) that have been defined using the element attribute. <br><br>
<a name="r2208"></a>R2208 A binding in a DESCRIPTION MAY contain
soapbind:header element(s) that refer to wsdl:parts in the same
wsdl:message that are referred to by its soapbind:body element(s).
<br><br>
Use of wsdl:message elements with zero parts is permitted in Document
styles to permit operations that can send or receive messages with empty
soap:Bodys. Use of wsdl:message elements with zero parts is permitted in
RPC styles to permit operations that have no (zero) parameters and/or a
return value.<br><br>
For document-literal bindings, the Profile requires that at most one
part, abstractly defined with the element attribute, be serialized into
the soap:Body element.<br><br>
When a wsdl:part element is defined using the type attribute, the wire
representation of that part is equivalent to an implicit (XML Schema)
qualification of a minOccurs attribute with the value &quot;1&quot;, a
maxOccurs attribute with the value &quot;1&quot; and a nillable attribute
with the value &quot;false&quot;.<br><br>
<br>
At 12:10 PM 3/20/2004, you wrote:<br>
<blockquote type=cite class=cite cite>Hi Anne,<br><br>
It worked, and thanks for correcting.<br><br>
Is what you said in your email about the<br>
document/literal a standard spec?&nbsp; Does it mean that<br>
it is &quot;unsafe&quot; to use multipart message element (at<br>
least for the input message)?&nbsp; Why would other<br>
web-service containers would not complain about it?&nbsp; I<br>
guess, Axis WSDL-to-Java generator should raise a<br>
warning if it encounters a mutlipart message element. <br>
Would you agree?<br><br>
Thanks.<br>
Kartik<br><br>
--- Anne Thomas Manes &lt;anne@manes.net&gt; wrote:<br>
&gt; Kartik,<br>
&gt; <br>
&gt; The problem is in your WSDL message definition. When<br>
&gt; using <br>
&gt; document/literal, your message definition should<br>
&gt; contain only one body <br>
&gt; part. (You can define additional parts, but they<br>
&gt; should represent header <br>
&gt; blocks -- not separate parameters in your body.)<br>
&gt; Axis ignores the second part.<br>
&gt; <br>
&gt; You need to define a wrapper element for your input<br>
&gt; message. If you give <br>
&gt; that wrapper element the same name as the operation<br>
&gt; name, you're using the <br>
&gt; &quot;wrapped&quot; programming convention, and it will<br>
&gt; automatically marshal your <br>
&gt; parameters for you.:<br>
&gt; <br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;types&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;schema<br>
&gt;
targetNamespace=&quot;<a href="http://ka.apache.org/types" eudora="autourl">http://ka.apache.org/types</a>&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
&gt;
xmlns=&quot;<a href="http://www.w3.org/2001/XMLSchema" eudora="autourl">http://www.w3.org/2001/XMLSchema</a>&quot;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
&gt;
xmlns:wsdl=&quot;<a href="http://schemas.xmlsoap.org/wsdl/" eudora="autourl">http://schemas.xmlsoap.org/wsdl/</a>&quot;&gt;<br>
&gt; <br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;element name=&quot;foo&quot;<br>
&gt; type=&quot;xsd:string&quot; /&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;element name=&quot;bar&quot;<br>
&gt; type=&quot;xsd:string&quot; /&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;element name=&quot;wow&quot;<br>
&gt; type=&quot;xsd:string&quot; /&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;element<br>
&gt; name=&quot;testTwo&quot;&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;complexType&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
&gt; &lt;sequence&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
&gt; &lt;element ref=&quot;xsd1:foo&quot;/&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
&gt; &lt;element ref=&quot;xsd1:bar&quot;/&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
&gt; &lt;/sequence&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
&gt; &lt;/complexType&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/element&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/schema&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/types&gt;<br>
&gt; <br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;message
name=&quot;testTwoIn&quot;&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;part name=&quot;body&quot;<br>
&gt; element=&quot;xsd1:testTwo&quot; /&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/message&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;message
name=&quot;testTwoOut&quot;&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;part name=&quot;w&quot; element=&quot;xsd1:wow&quot;<br>
&gt; /&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/message&gt;<br>
&gt; <br>
&gt; <br>
&gt; At 04:24 PM 3/11/2004, Kartik wrote:<br>
&gt; &gt;Hi Folks.<br>
&gt; &gt;<br>
&gt; &gt;I have attached the very simple WSDL<br>
&gt; (paramtest.wsdl)<br>
&gt; &gt;that I am testing with.&nbsp; I have a couple of issues<br>
&gt; and<br>
&gt; &gt;it would be great if someone can point some<br>
&gt; &gt;solutions/references.<br>
&gt; &gt;<br>
&gt; &gt;In my WSDL, I have a single operation as shown belo<br>
&gt; &gt;(java mapping):<br>
&gt; &gt;<br>
&gt; &gt;String testTwo(String f, String b);<br>
&gt; &gt;<br>
&gt; &gt;The operation takes two Strings and returns the<br>
&gt; &gt;&quot;hello&quot; back.<br>
&gt; &gt;<br>
&gt; &gt;I run a simple C#.NET client (I also tried IONA<br>
&gt; Artix<br>
&gt; &gt;C++ clients with the same results) which creates a<br>
&gt; &gt;proxy and calls:<br>
&gt; &gt;<br>
&gt; &gt;&nbsp;&nbsp; ParamTestService service = new<br>
&gt; ParamTestService();<br>
&gt; &gt;&nbsp;&nbsp; string result = service.testTwo(&quot;abcd&quot;,
&quot;wxyz&quot;);<br>
&gt; &gt;<br>
&gt; &gt;When I try to invoke on the operation, I can see on<br>
&gt; &gt;the Tomcat console, that only the first argument<br>
&gt; &gt;(&quot;abcd&quot;) reaches the service.&nbsp; The second
argument<br>
&gt; &gt;never reaches the service!&nbsp; If I do a<br>
&gt; &gt;System.out.println on f and b in my operation<br>
&gt; &gt;implementation, I see &quot;abcd&quot; for f (first arg),
but<br>
&gt; I<br>
&gt; &gt;see 'null' for b (second arg)!<br>
&gt; &gt;<br>
&gt; &gt;Does anyone know of any such issues or if you can<br>
&gt; find<br>
&gt; &gt;a problem in my WSDL, that would be too good.&nbsp; But<br>
&gt; I<br>
&gt; &gt;think my WSDL looks okay, because other WebService<br>
&gt; &gt;tool-kits to build my service and tested the<br>
&gt; &gt;interoperability (.NET (C#), Artix (C++), XMLBus<br>
&gt; &gt;(Java)), the same WSDL can generate the servers and<br>
&gt; &gt;clients fine with correct invocations on all<br>
&gt; &gt;cross-combinations.&nbsp; It seems that only Axis is<br>
&gt; having<br>
&gt; &gt;some problems :(<br>
&gt; &gt;<br>
&gt; &gt;PS: I looked at the request SOAP message received<br>
&gt; by<br>
&gt; &gt;Axis, and it DOES have the second argument's value<br>
&gt; -<br>
&gt; &gt;but somewhere in reading the incoming message or<br>
&gt; &gt;parsing it, it loses the second argument.<br>
&gt; &gt;<br>
&gt; &gt;Please try out the service - it will not take more<br>
&gt; &gt;than 10 minutes ... See steps below:<br>
&gt; &gt;<br>
&gt; &gt;- Copy the WSDL to a temp location<br>
&gt; &gt;- Generate the server side code:<br>
&gt; &gt;java org.apache.axis.wsdl.WSDL2Java -s -a<br>
&gt; &gt;paramtest.wsdl<br>
&gt; &gt;- Provides a sample implementation of the<br>
&gt; &gt;org/apache/ka/ParamTestImpl.java methods.<br>
&gt; &gt;- Build and deploy the service on Tomcat.<br>
&gt; &gt;- Generate client code using the local/deployed<br>
&gt; WSDL.<br>
&gt; &gt;- Build and run the client to invoke the method<br>
&gt; &gt;testTwo().<br>
&gt; &gt;- See the SOAP messages and the behavior or the<br>
&gt; &gt;service<br>
&gt; &gt;<br>
&gt; &gt;Thank you ...<br>
&gt; &gt;Kartik<br>
&gt; &gt;<br>
&gt; &gt;__________________________________<br>
&gt; &gt;Do you Yahoo!?<br>
&gt; &gt;Yahoo! Search - Find what you're looking for faster<br>
&gt;
&gt;<a href="http://search.yahoo.com/" eudora="autourl">http://search.yahoo.com</a>&lt;?xml
version=&quot;1.0&quot;<br>
&gt; encoding=&quot;UTF-8&quot;?&gt;<br>
&gt; &gt;&lt;definitions name=&quot;ParamTest&quot;<br>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
targetNamespace=&quot;<a href="http://ka.apache.org/" eudora="autourl">http://ka.apache.org/</a>&quot;<br>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
xmlns=&quot;<a href="http://schemas.xmlsoap.org/wsdl/" eudora="autourl">http://schemas.xmlsoap.org/wsdl/</a>&quot;<br>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&gt;
xmlns:xsd=&quot;<a href="http://www.w3.org/2001/XMLSchema" eudora="autourl">http://www.w3.org/2001/XMLSchema</a>&quot;<br>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&gt;
xmlns:soap=&quot;<a href="http://schemas.xmlsoap.org/wsdl/soap/" eudora="autourl">http://schemas.xmlsoap.org/wsdl/soap/</a>&quot;<br>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
xmlns:tns=&quot;<a href="http://ka.apache.org/" eudora="autourl">http://ka.apache.org/</a>&quot;<br>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
xmlns:xsd1=&quot;<a href="http://ka.apache.org/types" eudora="autourl">http://ka.apache.org/types</a>&quot;&gt;<br>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;types&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;schema<br>
&gt;
targetNamespace=&quot;<a href="http://ka.apache.org/types" eudora="autourl">http://ka.apache.org/types</a>&quot;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
&gt;
xmlns=&quot;<a href="http://www.w3.org/2001/XMLSchema" eudora="autourl">http://www.w3.org/2001/XMLSchema</a>&quot;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>
&gt;
xmlns:wsdl=&quot;<a href="http://schemas.xmlsoap.org/wsdl/" eudora="autourl">http://schemas.xmlsoap.org/wsdl/</a>&quot;&gt;<br>
&gt; &gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;element name=&quot;foo&quot;<br>
&gt; type=&quot;xsd:string&quot; /&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;element name=&quot;bar&quot;<br>
&gt; type=&quot;xsd:string&quot; /&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;element name=&quot;wow&quot;<br>
&gt; type=&quot;xsd:string&quot; /&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/schema&gt;<br>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/types&gt;<br>
&gt; &gt;<br>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;message
name=&quot;testTwoIn&quot;&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;part name=&quot;f&quot; element=&quot;xsd1:foo&quot;<br>
&gt; /&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;part name=&quot;b&quot; element=&quot;xsd1:bar&quot;<br>
&gt; /&gt;<br>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/message&gt;<br>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;message
name=&quot;testTwoOut&quot;&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;part name=&quot;w&quot; element=&quot;xsd1:wow&quot;<br>
&gt; /&gt;<br>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/message&gt;<br>
&gt; &gt;<br>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;portType
name=&quot;ParamTestInterface&quot;&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;operation name=&quot;testTwo&quot;&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;input<br>
&gt; message=&quot;tns:testTwoIn&quot; name=&quot;testTwoIn&quot;
/&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;output<br>
&gt; message=&quot;tns:testTwoOut&quot; name=&quot;testTwoOut&quot;
/&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/operation&gt;<br>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/portType&gt;<br>
&gt; &gt;<br>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;binding
name=&quot;ParamTest&quot;<br>
&gt; type=&quot;tns:ParamTestInterface&quot;&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;soap:binding style=&quot;document&quot; <br>
&gt; &gt;
transport=&quot;<a href="http://schemas.xmlsoap.org/soap/http" eudora="autourl">http://schemas.xmlsoap.org/soap/http</a>&quot;/&gt;<br>
&gt; &gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;operation name=&quot;testTwo&quot;&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;soap:operation<br>
&gt; soapAction=&quot;&quot; style=&quot;document&quot; /&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;input<br>
&gt; message=&quot;tns:testTwoIn&quot;
name=&quot;testTwoIn&quot;&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;soap:body<br>
&gt; use=&quot;literal&quot;/&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;/input&gt;<br>
&gt;
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&lt;output<br>
&gt; message=&quot;tns:testTwoOut&quot; <br>
=== message truncated ===<br><br>
<br>
__________________________________<br>
Do you Yahoo!?<br>
Yahoo! Finance Tax Center - File online. File on time.<br>
<a href="http://taxes.yahoo.com/filing.html" eudora="autourl">http://taxes.yahoo.com/filing.html</a></blockquote>
<x-sigsep><p></x-sigsep>
~~~~~~~~~~~~~~~~~~<br>
Anne Thomas Manes<br>
VP &amp; Research Director<br>
Burton Group</body>
</html>


Mime
View raw message