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]

Reply via email to