Anne, I had a feeling that @type was a leftover from RPC/encoded style, but was looking in the wrong place for the answer. Thanks!
Brennan -----Original Message----- From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] Sent: Wednesday, September 20, 2006 9:48 AM To: [email protected] Subject: Re: [Axis2] Using 'type' attribute for the message part Brennan, The semantics of type vs element in <wsdl:part> is defined in the WS-I Basic Profile, Section 4.4.1 [1]. You must use @type when using RPC style; you must use @element when using document style. With document style, you specify the literal schema of the element contained in the SOAP Body; therefore, the message may contain at most one body part, and that part must reference an element definition. It must not reference a type definition. With RPC style, you specify the types of the parameters that must be passed in the SOAP Body, but not the literal schema. The message definition must contain a part for each parameter, and those parts must reference a type definition. At runtime, the SOAP engine is responsible for dynamically constructing the element contained in the SOAP Body as follows: - It generates a wrapper element that has the same local name as the operation, and which is qualified by the namespace specified in the <soap:body> definition in the binding. This wrapper element has no formally specified type or schema. - It generates an accessor element for each parameter. The accessor elements are non-qualified, and they get their local name from the @name in the <wsdl:part>. The type of each accessor element is the type specified in the WSDL part definition. For example, if you have: <wsdl:message name="opRequest"> <wsdl:part name="param1" type="xsd:string"/> <wsdl:part name="param2" type="xsd:string"/> </wsdl:message> ... <wsdl:binding ...> <soap:binding style="rpc" ...> <wsdl:operation name="op"> ... <wsdl:input> <soap:body use="literal" namespace="urn:example:rpc"/> </wsdl:input> ... </wsdl:operation> </wsdl:binding> The message on the wire would look like: <soap:Body> <ns1:op xmlns:ns1="urn:example:rpc"> <param1>some string</param1> <param2>some string</param2> </ns1:op> </soap:Body> [1] http://www.ws-i.org/Profiles/BasicProfile-1.1.html#Bindings_and_Parts On 9/18/06, Spies, Brennan <[EMAIL PROTECTED]> wrote: > Yes, I am using the most recent nightly build. The input and output is > Doc/literal... > > > <wsdl:binding name="ActionSoapHttp" type="tns:ActionInterface"> > <soap:binding style="document" > transport="http://schemas.xmlsoap.org/soap/http" /> > <wsdl:operation name="Action"> > <soap:operation > > soapAction="urn:ejgallo:workflow:service:action/Action" /> > <wsdl:input> > <soap:body use="literal" /> > </wsdl:input> > <wsdl:output> > <soap:body use="literal" /> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > > > I can file a bug (no problem) since it's clear the lack of a return doc is a > bug, but I also wanted to know what is meant when a 'type' is specified in > the WSDL, i.e., what SHOULD be the result of such a configuration in terms of > what is generated in the SOAP, and more specifically to Axis2, the generated > classes? > > Brennan > > -----Original Message----- > From: Ajith Ranabahu [mailto:[EMAIL PROTECTED] > Sent: Monday, September 18, 2006 11:42 AM > To: [email protected]; [EMAIL PROTECTED] > Subject: Re: [Axis2] Using 'type' attribute for the message part > > Hi, > What kind of binding do you have ? > > Ajith > > On 9/18/06, Davanum Srinivas <[EMAIL PROTECTED]> wrote: > > Are u using the nightly build? If so, please open a issue/bug. > > > > thanks, > > dims > > > > On 9/18/06, Spies, Brennan <[EMAIL PROTECTED]> wrote: > > > Axis devs, > > > > > > Got a question regarding the use of types for message parts rather than > > > elements...specifically, what are the semantics of it? Reading the WSDL > spec > > > does not clarify this for me. > > > > > > For example, suppose you have an output message defined as > > > > > > <message name="Response"> > > > <part name="output" type="ns:responseType"/> > > > </message> > > > > > > Using the Axis code generator with XMLBeans databinding, the ResponseType > > > class will be generated, but there is no corresponding *Document class. > Also, > > > the methods in the generated code look more like an IN ONLY MEP rather > than > > > IN-OUT--i.e., the skeleton has no return value, hence no meaningful SOAP > > > response is generated. > > > > > > Brennan > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > -- > > Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers) > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > -- > Ajith Ranabahu > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
