Hi Ian,

you are right, the generated deploy.wsdd sets the RPC-handler for
message-processing of this service.

"...
<service name="ShoppingCart" provider="java:RPC" style="document"
use="literal">
..."

For Apollo, I will use empty complexTypes for parameterless operations,
as suggested.

Michael



> -----Urspr�ngliche Nachricht-----
> Von: Ian Springer [mailto:[EMAIL PROTECTED]
> Gesendet: Donnerstag, 17. Februar 2005 16:41
> An: [EMAIL PROTECTED]
> Betreff: Re: AW: AW: Questions relating to Service-Generation and
wsdl-
> interpretation
> 
> Michael Marks wrote:
> 
> >But I've got it working with axis. The axis-wsdl2java processes the
> >wsdl-definition without problems and I got a Method-Signature with
> >zero-paremeters. I defined:
> >
> ><types>
> >...
> >     <xs:element name="zero_Boolean" type="xs:boolean"/>
> >...
> ></types>
> >
> ><message name="ZeroParamsRequest"/>
> >
> ><message name="ZeroParamsResponse">
> >     <part name="proccessed" element="tns:zero_Boolean"/>
> ></message>
> >
> ><portType name=".." ...>
> >...
> >      <operation name="ZeroParams">
> >         <input message="tns:ZeroParamsRequest"/>
> >         <output message="tns:ZeroParamsResponse"/>
> >      </operation>
> >
> >...
> ></portType>
> >
> ><binding ...>
> >
> >   <operation name="ZeroParams">
> >         <soap:operation style="document"/>
> >         <input>
> >            <soap:body use="literal"/>
> >         </input>
> >         <output>
> >            <soap:body use="literal"/>
> >         </output>
> >      </operation>
> >
> ></binding>
> >
> >I got:
> >
> >In the interface:
> >================
> >   public boolean zeroParams() throws java.rmi.RemoteException;
> >
> >
> >In the implementation-body:
> >==========================
> >    public boolean zeroParams() throws java.rmi.RemoteException {
> >        return false;
> >    }
> >
> >
> >The messages are:
> >
> >Request:
> >========
> >POST /axis/services/ShoppingCart HTTP/1.0
> >Content-Type: text/xml; charset=utf-8
> >Accept: application/soap+xml, application/dime, multipart/related,
> >text/*
> >User-Agent: Axis/1.2RC2
> >Host: 127.0.0.1:8079
> >Cache-Control: no-cache
> >Pragma: no-cache
> >SOAPAction: ""
> >Content-Length: 245
> >
> ><soapenv:Envelope
> >xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> >xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> >xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
> ><soapenv:Body>
> ><ZeroParams xmlns=""/>
> ></soapenv:Body>
> ></soapenv:Envelope>
> >
> >
> >Response:
> >=========
> >HTTP/1.1 200 OK
> >Content-Type: text/xml;charset=utf-8
> >Date: Wed, 16 Feb 2005 23:02:17 GMT
> >Server: Apache-Coyote/1.1
> >Connection: close
> >
> >
> ><soapenv:Envelope
> >xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> >xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> >xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
> ><soapenv:Body>
> ><zero_Boolean xmlns="http://bookstore.com/shoppingCart";>
> >false
> ></zero_Boolean>
> ></soapenv:Body>
> ></soapenv:Envelope>
> >
> >
> >
> >I don't know, how the message is dispatched, neverless it seems to
work.
> >But I don't have tried to define two empty messages per service until
> >yet. For me it looks like that axis allows empty message bodies and
can
> >handle them. Any ideas about that? Does it matter to WSRF?
> >
> >
> >
> Hi Michael,
> 
> It looks like Axis is generating for your WSDL as if the operation
style
> is "rpc", even though it is "document". That is, for rpc, the name
> attribute of the operation (e.g. "ZeroParams") becomes the top-level
> soap body element . For document style, the input part element (if
there
> is one :) should become the soap body element.
> 
> So, according to the WSDL, the request body should look like:
> 
> <soapenv:Body>
> </soapenv:Body>
> 
> not:
> 
> <soapenv:Body>
>   <ZeroParams xmlns="" />
> </soapenv:Body>
> 
> So Axis generated a la RPC style and is dispatching in that style too.
Is
> the Axis service configured to use Axis' RPCHandler?
> 
> For Apollo, I think it makes the most sense for us to require doc-lit
> with exactly one input part. For parameterless operations, you can use
> empty complexTypes, as Sam suggested.
> 
> Ian
> 
> 
> ---------------------------------------------------------------------
> 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