Hi Anne, thanks a lot for a detailed response.
I am doing document/literal services in Axis2 ( I am assuming document and unwrapped are identical). I start by defining a WSDL, doing WSDL2Java, flesh out business logic and then deploy. But, <s:complexType name="VoidType"/> creates a VoidType.java during codeGen for me in ADB as posted here: http://marc.theaimsgroup.com/?l=axis-user&m=115404237314689&w=2 For fire and forget, when you say there is no return message, you mean the operation output does not have to be specified? Thanks, -Nirmit "Anne Thomas Manes" <[EMAIL PROTECTED] To m> axis-user@ws.apache.org cc 07/28/2006 11:26 AM Subject Re: [Axis2 1.0] authoring WSDL Please respond to [EMAIL PROTECTED] he.org I've never seen such a document. I do recommend using a WSDL authoring tool, such as xmlspy, Sonic Stylus, or <oXygen>. Guidelines for operations with no argument (input or output) will be different depending on the message style, programming model, and message exchange pattern (MEP) you're using. Typically, I define a void type like this: <s:complexType name="VoidType"> <s:sequence/> </s:complexType> You could also define it like this: <s:complexType name="VoidType"/> but this definition doesn't work with the "wrapped" style (which requires the <sequence/>). For unwrapped document style, you can define an input message with no argument like this: <w:message name="myOperationRequest"/> This will send an empty message, e.g., <soap:Body/>. You just need to make sure that the receiving SOAP engine knows how to dispatch the request, because the input message has no signature. (Typically used with the Message receiver in Axis 1. Axis2 lets you dispatch based on the Action paramater.) For wrapped document style, you must define an element which has the same name as the operation, whose type is void: <s:element name="myOperation" type="tns:VoidType"/> And define the message as: <w:message name="myOperationRequest"> <w:part name="parameters" element="tns:myOperation"/> </w:message> For rpc style, you define a message with no parts: <w:message name="myOperationRequest"/> As for the return message... For a oneway MEP (fire and forget), there is no return message. For a request/response MEP: For unwrapped document or rpc style, you define a message with no parts: <w:message name="myOperationResponse"/> For wrapped document style, you must define a response element whose type is void: <s:element name="myOperationReturn" type="tns:VoidType"/> And define the message as: <w:message name="myOperationResponse"> <w:part name="parameters" element="tns:myOperationReturn"/> </w:message> Hope this helps. Anne On 7/28/06, Nirmit Desai <[EMAIL PROTECTED]> wrote: > > Hi all, > > I was wondering if anyone has a pointer a good comprehensive WSDL authoring > guidelines. > > For now, I am wondering how to write WASDL for an operation that doesn't > take any arguments. Or for an operation that returns void. I want these to > be asynchronous. I would like to call the void returning operation with > fireAndForget(). > > Thanks, > > -Nirmit > > > --------------------------------------------------------------------- > 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]