In case you think I am simply punting by referring you to Axis, I thought I would point out that the server used for MS SOAP interop uses rpc/encoded messages (cf. http://www.mssoapinterop.org/asmx/simple.asmx?WSDL). Simply put, using rpc/encoded messages maximizes interoperability. Services that use doc/lit, such as the one at xml-webservices.net, will not interoperate with as wide a set of other SOAP implementations. What I personally find amusing (sad, really) is that Microsoft chose doc/lit as the default encoding when one uses VS.NET. Unless all VS.NET programmers are trained to override this to use rpc/encoded, there will be unnecessary interop problems.
Scott Nichol ----- Original Message ----- From: "Scott Nichol" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, July 23, 2002 1:35 PM Subject: Re: Problems with complexTipe > I think your English is quite good; certainly excellent compared to my > Italian! Anyway, a wire dump is just what you sent. I really don't > understand the problem the server is having. > > To investigate, I wrote and ran my own client. I got the same result as > you. > > Then I checked the WSDL. The operation is defined as > > - <operation name="Add"> > <soap:operation > soapAction="http://www.xml-webservices.net/services/maths/Add" > style="document" /> > - <input> > <soap:body use="literal" /> > </input> > - <output> > <soap:body use="literal" /> > </output> > </operation> > > I believe the problem is the document/literal encoding. Apache SOAP is > sending (and expecting) rpc/encoded messages. My understanding is that you > should have success using Axis (http://xml.apache.org/axis) as a client, > since it supports WSDL and doc/lit encoding. > > Scott Nichol > > ----- Original Message ----- > From: <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Tuesday, July 23, 2002 11:30 AM > Subject: Re: Problems with complexTipe > > > ok, I have eliminated the problem of mix of schema 1999 and 2001 but it > doesn't work anyway. I don't speak English very well so I don't know the > meaning of "wire dump", however the message that I send is: > <?xml version='1.0' encoding='UTF-8'?> > <SOAP-ENV:Envelope > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > <SOAP-ENV:Body> > <ns1:Add xmlns:ns1="http://www.xml-webservices.net/services/maths" > SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> > <a xmlns:ns2="http://www.w3.org/2001/XMLSchema" > xsi:type="ns2:float">20.0</a> > <b xmlns:ns3="http://www.w3.org/2001/XMLSchema" > xsi:type="ns3:float">30.0</b> > </ns1:Add> > </SOAP-ENV:Body> > </SOAP-ENV:Envelope> > > and this is the message I receive: > > <?xml version="1.0" encoding="utf-8"?> > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > <soap:Body> > <AddResponse xmlns="http://www.xml-webservices.net/services/maths"> > <AddResult>0</AddResult> > </AddResponse> > </soap:Body> > </soap:Envelope> > > There are not fault. > > I've tryed sending the following message changing at runtime the value of > playload and the service has responsed me correctly with 50 as retur value: > <?xml version="1.0" encoding="utf-8"?> > <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> > <soap:Body> > <Add xmlns="http://www.xml-webservices.net/service/math"> > <a>20</a> > <b>30</b> > </Add> > </soap:Body> > </soap:Envelope>> > > > > > > >-- Messaggio originale -- > >Reply-To: [EMAIL PROTECTED] > >Date: Tue, 23 Jul 2002 10:02:18 -0400 > >From: Scott Nichol <[EMAIL PROTECTED]> > >Subject: Re: Problems with complexTipe > >To: [EMAIL PROTECTED] > > > > > >Well, you cannot get Apache SOAP to send exactly the message you show using > >the RPC code, because it will always sent xsi:type for the parameters. > That > >should not be a problem, however. One thing I notice is the mix of 1999 > >and > >2001 XML schemas. You might want to specify an encoding type of null in > >the > >Parameter constructor so that you will not have this mix. Even so, if > this > >were a problem for the web service, I would expect it to return a fault, > >not > >an incorrect answer. Do you have a wire dump of the response message? > > > >Scott Nichol > > > >----- Original Message ----- > >From: <[EMAIL PROTECTED]> > >To: <[EMAIL PROTECTED]> > >Sent: Tuesday, July 23, 2002 9:34 AM > >Subject: Re: Problems with complexTipe > > > > > >thanks Scott. > >I don't receive any error messages, but the response value is constantly > >zero... > >I know that the message i have to send is this: > > > ><?xml version="1.0" encoding="utf-8"?> > ><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > >xmlns:xsd="http://www.w3.org/2001/XMLSchema" > >xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> > > <soap:Body> > > <Add xmlns="http://www.xml-webservices.net/service/math"> > > <a>20</a> > > <b>30</b> > > </Add> > > </soap:Body> > ></soap:Envelope>> > > > >But I don't know how can I create this message with Apache SOAP 2.2 because > >for every parameters I have to set the encodingStyle, the class, the > >value... > >So the message that I create is: > > > ><?xml version='1.0' encoding='UTF-8'?> > ><SOAP-ENV:Envelope > >xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > >xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" > >xmlns:xsd="http://www.w3.org/1999/XMLSchema"> > ><SOAP-ENV:Body> > ><ns1:Add xmlns:ns1="http://www.xml-webservices.net/service/math" > >SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> > ><a xmlns:ns2="http://www.w3.org/2001/XMLSchema" xsi:type="ns2:float">20</a> > ><b xmlns:ns3="http://www.w3.org/2001/XMLSchema" xsi:type="ns3:float">30</b> > ></ns1:Add> > ></SOAP-ENV:Body> > ></SOAP-ENV:Envelope> > > > >Do you know how I can do. > > > >thanks again... > > > > > > > >-- Messaggio originale -- > >>Reply-To: [EMAIL PROTECTED] > >>Date: Tue, 23 Jul 2002 08:45:17 -0400 > >>From: Scott Nichol <[EMAIL PROTECTED]> > >>Subject: Re: Problems with complexTipe > >>To: [EMAIL PROTECTED] > >> > >> > >>Sonia, > >> > >>It would be helpful if you could post the error message you receive. > Your > >>parameter assignments look good, so I wonder whether there might be some > >>other problem. > >> > >>Scott Nichol > >> > >>----- Original Message ----- > >>From: <[EMAIL PROTECTED]> > >>To: <[EMAIL PROTECTED]> > >>Sent: Tuesday, July 23, 2002 6:34 AM > >>Subject: Problems with complexTipe > >> > >> > >>hi! > >>I have to do un application that use a service which exploits a WSDL like > >>this: > >>- <types> > >>- <s:schema elementFormDefault="qualified" > >>targetNamespace="http://www.xml-webservices.net/services/maths"> > >>- <s:element name="Add"> > >>- <s:complexType> > >>- <s:sequence> > >> <s:element minOccurs="1" maxOccurs="1" name="a" type="s:float" /> > >> <s:element minOccurs="1" maxOccurs="1" name="b" type="s:float" /> > >> </s:sequence> > >> </s:complexType> > >> </s:element> > >>- <s:element name="AddResponse"> > >>- <s:complexType> > >>- <s:sequence> > >> <s:element minOccurs="1" maxOccurs="1" name="AddResult" type="s:float" > >>/> > >> </s:sequence> > >> </s:complexType> > >> </s:element> > >>... > >>- <message name="AddSoapIn"> > >> <part name="parameters" element="s0:Add" /> > >> </message> > >>... > >>- <portType name="SimpleCalcSoap"> > >>- <operation name="Add"> > >> <documentation>Add two numbers</documentation> > >> <input message="s0:AddSoapIn" /> > >> <output message="s0:AddSoapOut" /> > >> </operation> > >>... > >>- <binding name="SimpleCalcSoap" type="s0:SimpleCalcSoap"> > >> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" > >>style="document" > >>/> > >>- <operation name="Add"> > >> <soap:operation > >>soapAction="http://www.xml-webservices.net/services/maths/Add" > >>style="document" /> > >>- <input> > >> <soap:body use="literal" /> > >> </input> > >>- <output> > >> <soap:body use="literal" /> > >> </output> > >> </operation> > >>... > >> > >>How can I assign to the method "Add" the parameters? > >>If I do: > >>params.addElement(new Parameter("a", float.class, new Float(20), null)); > >>params.addElement(new Parameter("b", float.class, new Float(20), null)); > >>it doesn't work... > >>Where are the mistake? > >>Thanks. > >>Sonia > >> > >> > >>-- > >>To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > >>For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > >> > >> > >> > >> > >>-- > >>To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > >>For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > >> > > > > > > > >-- > >To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > >For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > > > > > > > > >-- > >To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > >For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>