Yes, jaya. This is a bug in Axis.

-- dims


On Thu, 18 Nov 2004 10:59:02 +0530, jayachandra <[EMAIL PROTECTED]> wrote:
> Hi Anne!
> Thanks for the information.
> However, the wsdl I posted in my earlier mail was something that axis
> generated for me (when I specified '?wsdl' in the browser), so that
> means the wsdl generated out for a doc/lit deployed service like this
> is faulty or am I missing something in my understanding. Please post
> your comments.
> 
> Thank you,
> Jayachandra
> 
> 
> 
> On Wed, 17 Nov 2004 10:53:03 -0500, Anne Thomas Manes <[EMAIL PROTECTED]> 
> wrote:
> >
> >
> > When defining a document/literal style service, your input message must
> > contain at most one body part. You cannot list each of your input elements
> > as separate parts in the input message definition. You must define a wrapper
> > element for your two input parameters and reference this one element in your
> > message part:
> >
> > <element name="double>
> >  <complexType>
> >     <sequence>
> >        <element ref="tns1:in0"/>
> >        <element ref="tns1:in1"/>
> >     </sequence>
> >  </complexType>
> > </element>
> >
> > <wsdl:message name="echoString_doubleRequest">
> >  <wsdl:part element="impl:double" name="input" />
> > </wsdl:message>
> >
> > Note that you must not include the parameterOrder attribute in your
> > operation description when using document/literal.
> >
> > Also note that when using a document/literal style service the service
> > interface would need to look like this:
> >
> >  in3 echoString(double) (where double is a bean containing in0 and in1)
> >
> > rather than like this:
> >
> >  in3 echoString(in0, in1)
> >
> > If you prefer the second type of interface, then you must use either the
> > "rpc" style or the "wrapped" style. "rpc" style will generate an rpc/encoded
> > service. "wrapped" style will generate a doc/literal service that supports
> > an RPC style invocation interface.
> >
> > The "wrapped" style is a convention that requires you to give your input
> > message element the same name as the operation, and that element must be
> > defined as a complex type with a sequence group containing your input
> > parameters. A "wrapped" style wsdl for this service would look like this:
> >
> > <?xml version="1.0" encoding="UTF-8" ?>
> >  <wsdl:definitions
> > targetNamespace="http://localhost:8080/axis/services/EchoTest";
> > xmlns:apachesoap="http://xml.apache.org/xml-soap";
> > xmlns:impl="http://localhost:8080/axis/services/EchoTest";
> > xmlns:intf="http://localhost:8080/axis/services/EchoTest";
> > xmlns:tns1="http://DefaultNamespace";
> > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
> > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
> >  <!--
> > WSDL created by Apache Axis version: 1.2RC1
> > Built on Oct 29, 2004 (05:51:30 IST)
> >
> >  -->
> >  <wsdl:types>
> >  <schema elementFormDefault="qualified"
> > targetNamespace="http://DefaultNamespace";
> > xmlns="http://www.w3.org/2001/XMLSchema";>
> >  <element name="in0" type="xsd:string" />
> >  <element name="in1" type="xsd:string" />
> >  <element name="in2" type="xsd:string" />
> >  </schema>
> >  <schema elementFormDefault="qualified"
> > targetNamespace="http://localhost:8080/axis/services/EchoTest";
> > xmlns="http://www.w3.org/2001/XMLSchema";>
> >  <import namespace=" http://DefaultNamespace"/>
> 
> 
> >
> >
> >  <element name="echoStringReturn" type="xsd:string" />
> >  <element name="echoString_doubleReturn" type="xsd:string" />
> >  <element name="echoString_double>
> >    <complexType>
> >     <sequence>
> >        <element ref="tns1:in0"/>
> >        <element ref="tns1:in1"/>
> >     </sequence>
> >    </complexType>
> >  </element>
> >  </schema>
> >  </wsdl:types>
> >  <wsdl:message name="echoStringResponse">
> >  <wsdl:part element="impl:echoStringReturn" name="echoStringReturn" />
> >  </wsdl:message>
> >  <wsdl:message name="echoString_doubleResponse">
> >  <wsdl:part element="impl:echoString_doubleReturn"
> > name="echoString_doubleReturn" />
> >  </wsdl:message>
> >  <wsdl:message name="echoStringRequest">
> >  <wsdl:part element="tns1:in0" name="parameters" />
> 
> 
> >
> >
> >  </wsdl:message>
> >  <wsdl:message name="echoString_doubleRequest">
> >  <wsdl:part element="impl:echoString_double" name="parameters" />
> >  </wsdl:message>
> >  <wsdl:portType name="EchoTest">
> >  <wsdl:operation name="echoString">
> >  <wsdl:input message="impl:echoStringRequest" name="echoStringRequest" />
> >  <wsdl:output message="impl:echoStringResponse" name="echoStringResponse"
> > />
> >  </wsdl:operation>
> >  <wsdl:operation name="echoString_double">
> >  <wsdl:input message="impl:echoString_doubleRequest"
> > name="echoString_doubleRequest" />
> >  <wsdl:output message="impl:echoString_doubleResponse"
> > name="echoString_doubleResponse" />
> >  </wsdl:operation>
> >  </wsdl:portType>
> >  <wsdl:binding name="EchoTestSoapBinding" type="impl:EchoTest">
> >  <wsdlsoap:binding style="document"
> > transport="http://schemas.xmlsoap.org/soap/http"; />
> >  <wsdl:operation name="echoString">
> >  <wsdlsoap:operation soapAction="" />
> >  <wsdl:input name="echoStringRequest">
> >  <wsdlsoap:body use="literal" />
> >  </wsdl:input>
> >  <wsdl:output name="echoStringResponse">
> >  <wsdlsoap:body use="literal" />
> >  </wsdl:output>
> >  </wsdl:operation>
> >  <wsdl:operation name="echoString_double">
> >  <wsdlsoap:operation soapAction="" />
> >  <wsdl:input name="echoString_doubleRequest">
> >  <wsdlsoap:body use="literal" />
> >  </wsdl:input>
> >  <wsdl:output name="echoString_doubleResponse">
> >  <wsdlsoap:body use="literal" />
> >  </wsdl:output>
> >  </wsdl:operation>
> >  </wsdl:binding>
> >  <wsdl:service name="EchoTestService">
> >  <wsdl:port binding="impl:EchoTestSoapBinding" name="EchoTest">
> >  <wsdlsoap:address location="http://localhost:8080/axis/services/EchoTest";
> > />
> >  </wsdl:port>
> >  </wsdl:service>
> >  </wsdl:definitions>
> >
> > -----Original Message-----
> > From: jayachandra [mailto:[EMAIL PROTECTED]
> > Sent: Wednesday, November 17, 2004 7:39 AM
> > To: [EMAIL PROTECTED]
> > Subject: Help needed in invoking a doc/lit web service.
> >
> > Hi all,
> > I've with me the following wsdl of a document literal style deployed
> > EchoTest web service. It has two basic methods echoString (this takes
> > one string parameter asn input and echoes it as is) and
> > echoString_double (this takes two strings as input parameters and
> > echoes their concatenated result as output).
> > If I were to invoke the echoString_double method of this service how
> > should the body of my soap message look like. Any help in this
> > direction will be appreciated a lot.
> >
> > wsdl of the deployed EchoTest service (obtained with the ?wsdl option
> > in the browser)
> >
> > <?xml version="1.0" encoding="UTF-8" ?>
> >  <wsdl:definitions
> > targetNamespace="http://localhost:8080/axis/services/EchoTest";
> > xmlns:apachesoap="http://xml.apache.org/xml-soap";
> > xmlns:impl="http://localhost:8080/axis/services/EchoTest";
> > xmlns:intf="http://localhost:8080/axis/services/EchoTest";
> > xmlns:tns1="http://DefaultNamespace";
> > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
> > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
> >  <!--
> > WSDL created by Apache Axis version: 1.2RC1
> > Built on Oct 29, 2004 (05:51:30 IST)
> >
> >  -->
> >  <wsdl:types>
> >  <schema elementFormDefault="qualified"
> > targetNamespace="http://DefaultNamespace";
> > xmlns="http://www.w3.org/2001/XMLSchema";>
> >  <element name="in0" type="xsd:string" />
> >  <element name="in1" type="xsd:string" />
> >  <element name="in2" type="xsd:string" />
> >  </schema>
> >  <schema elementFormDefault="qualified"
> > targetNamespace="http://localhost:8080/axis/services/EchoTest";
> > xmlns="http://www.w3.org/2001/XMLSchema";>
> >  <element name="echoStringReturn" type="xsd:string" />
> >  <element name="echoString_doubleReturn" type="xsd:string" />
> >  </schema>
> >  </wsdl:types>
> >  <wsdl:message name="echoStringResponse">
> >  <wsdl:part element="impl:echoStringReturn" name="echoStringReturn" />
> >  </wsdl:message>
> >  <wsdl:message name="echoString_doubleResponse">
> >  <wsdl:part element="impl:echoString_doubleReturn"
> > name="echoString_doubleReturn" />
> >  </wsdl:message>
> >  <wsdl:message name="echoStringRequest">
> >  <wsdl:part element="tns1:in0" name="in0" />
> >  </wsdl:message>
> >  <wsdl:message name="echoString_doubleRequest">
> >  <wsdl:part element="tns1:in1" name="in0" />
> >  <wsdl:part element="tns1:in2" name="in1" />
> >  </wsdl:message>
> >  <wsdl:portType name="EchoTest">
> >  <wsdl:operation name="echoString" parameterOrder="in0">
> >  <wsdl:input message="impl:echoStringRequest" name="echoStringRequest" />
> >  <wsdl:output message="impl:echoStringResponse" name="echoStringResponse"
> > />
> >  </wsdl:operation>
> >  <wsdl:operation name="echoString_double" parameterOrder="in0 in1">
> >  <wsdl:input message="impl:echoString_doubleRequest"
> > name="echoString_doubleRequest" />
> >  <wsdl:output message="impl:echoString_doubleResponse"
> > name="echoString_doubleResponse" />
> >  </wsdl:operation>
> >  </wsdl:portType>
> >  <wsdl:binding name="EchoTestSoapBinding" type="impl:EchoTest">
> >  <wsdlsoap:binding style="document"
> > transport="http://schemas.xmlsoap.org/soap/http"; />
> >  <wsdl:operation name="echoString">
> >  <wsdlsoap:operation soapAction="" />
> >  <wsdl:input name="echoStringRequest">
> >  <wsdlsoap:body use="literal" />
> >  </wsdl:input>
> >  <wsdl:output name="echoStringResponse">
> >  <wsdlsoap:body use="literal" />
> >  </wsdl:output>
> >  </wsdl:operation>
> >  <wsdl:operation name="echoString_double">
> >  <wsdlsoap:operation soapAction="" />
> >  <wsdl:input name="echoString_doubleRequest">
> >  <wsdlsoap:body use="literal" />
> >  </wsdl:input>
> >  <wsdl:output name="echoString_doubleResponse">
> >  <wsdlsoap:body use="literal" />
> >  </wsdl:output>
> >  </wsdl:operation>
> >  </wsdl:binding>
> >  <wsdl:service name="EchoTestService">
> >  <wsdl:port binding="impl:EchoTestSoapBinding" name="EchoTest">
> >  <wsdlsoap:address location="http://localhost:8080/axis/services/EchoTest";
> > />
> >  </wsdl:port>
> >  </wsdl:service>
> >  </wsdl:definitions>
> >
> > ---------end of wsdl-----------
> >
> > Thank you,
> > Jayachandra
> > --
> > -- Jaya
> >
> >
> 
> 
> --
> -- Jaya
> 


-- 
Davanum Srinivas - http://webservices.apache.org/~dims/

Reply via email to