The primary differences between doc and rpc style WSDLs are as follows:

<types> definitions:
- In Doc style, you must define your message structure as an element
- In RPC style, you only need a <types> section if you are defining complex
types

Message <part> definitions:
- In Doc style your message parts must reference elements.
- In RPC style they must reference types.
- In Doc style your message body should consist on only one part
- In RPC style you have a different part for each parameter

Binding <operation> definitions:
- Style = RPC | Document

Binding <input> and <output> definitions:
- In Doc style:
   - use=literal
   - you have only one part
   - you should not specify a namespace
- In RPC style:
   - use=literal or encoded
   - you have a different part for each parameter
   - you should specify a namespace

Regards,
Anne

----- Original Message -----
From: "Nicholas Ardlie" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, June 25, 2003 10:25 PM
Subject: RE: Message Style and WSDL


> thanks for the clarification mitch,
> this promted me to deploy a simple web service in RPC, DOCUMENT & MESSAGE
styles and compare the WSDL files and the SOAP messaging (using the TCP
Monitor).
> Of course doc style wsdl can't be the same as message style wsdl as axis
needs a binding structure in the WSDL for one but not the other.
> So doc style wsld ends up looking very similar to rpc wsdl (only without
the soap encoding).
>
> -----Original Message-----
> From: Mitch Gitman [mailto:[EMAIL PROTECTED]
> Sent: Thursday, 26 June 2003 3:22 AM
> To: [EMAIL PROTECTED]
> Subject: Re: Message Style and WSDL
>
>
> Within a WSDL document, you have the style attribute at:
> /wsdl:definitions/wsdl:binding/soapbind:[EMAIL PROTECTED]
>
> There are only two possible values:
> * document
> * rpc
>
> WSDL knows nothing of "message style." By the same token, there's nothing
> stopping message style from being done using either document style or RPC
> style, as long as Axis has implemented it both ways.
>
> I have to clarify some of what Nick writes: "So, I presume, to a client an
> Axis 'document' or 'message' style service should look the same from the
WSDL.
> ie: they both contain payload documents rather than RPC structures."
>
> Document style != message style. Also, RPC calls can be fully expressed
using
> document style, just the thing being expressed is not NECESSARILY an RPC
> structure.
>
> "Nicholas Ardlie" <[EMAIL PROTECTED]> wrote:
> > ---------------------------------------------
> > Attachment:
> > MIME Type: multipart/alternative
> > ---------------------------------------------
> Hi Bhanu
> As far as I understand, at the SOAP level, style=Document is correct for
what
> axis calls 'message' style services.
> Axis document style messaging in fact does Java<->XML binding so they
needed
> to define 'message' style services as services that really deal with the
XML
> itself (ie: message style is what the non-axis world understand as
document
> style). More specifically a client doesn't care whether the Axis server
does
> Java<->XML binding at its end or not. It only cares about the request and
> response SOAP structure. So, I presume, to a client an Axis 'document' or
> 'message' style service should look the same from the WSDL. ie: they both
> contain payload documents rather than RPC structures.
>
> regards,
> Nick.
>
> -----Original Message-----
> From: Bhanu Pabreja [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, 25 June 2003 9:03 AM
> To: [EMAIL PROTECTED]
> Subject: RE: Message Style and WSDL
>
>
> I just had a look at your wsdl file and it says that the style=Document
.....
> so this makes me wonder is it really message style service.
>
> Have a look at my deploy.wsdd and just try to create a method and install
the
> service and see how is shows up in your engine ...
>
> BTW: How do we bypass the ?wsdl and insert our own handwritten wsdl file s
o
> that next time the client tries to access the file it shows the newly
created
> self edtited wsdl file.
>
> Thanx in advance ...
>
> Bhanu
>
> -----Original Message-----
> From: remko de knikker [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, June 24, 2003 3:10 PM
> To: [EMAIL PROTECTED]
> Subject: Re: Message Style and WSDL
>
>
> You can also handwrite your wsdl-file and include it in the wsdd file
>
> provided of course your webservice is actually working message-style.
>
> This way you bypass the generation of your wsdl by axis.
>
>
>
> r
>
>
>
>
>
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <wsdl:definitions targetNamespace=
> "http://biryani.med.yale.edu:8081/axis/services/GetXSLIM";
> <http://biryani.med.yale.edu:8081/axis/services/GetXSLIM>  xmlns=
> "http://schemas.xmlsoap.org/wsdl/"; <http://schemas.xmlsoap.org/wsdl/>
> xmlns:apachesoap= "http://xml.apache.org/xml-soap";
> <http://xml.apache.org/xml-soap>  xmlns:impl=
> "http://biryani.med.yale.edu:8081/axis/services/GetXSLIM";
> <http://biryani.med.yale.edu:8081/axis/services/GetXSLIM>  xmlns:intf=
> "http://biryani.med.yale.edu:8081/axis/services/GetXSLIM";
> <http://biryani.med.yale.edu:8081/axis/services/GetXSLIM>  xmlns:soapenc=
> "http://schemas.xmlsoap.org/soap/encoding/";
> <http://schemas.xmlsoap.org/soap/encoding/>  xmlns:wsdl=
> "http://schemas.xmlsoap.org/wsdl/"; <http://schemas.xmlsoap.org/wsdl/>
> xmlns:wsdlsoap= "http://schemas.xmlsoap.org/wsdl/soap/";
> <http://schemas.xmlsoap.org/wsdl/soap/>  xmlns:xsd=
> "http://www.w3..org/2001/XMLSchema"; <http://www.w3.org/2001/XMLSchema>
> ><wsdl:types><xsd:schema xmlns:tns= "http://biryani.med.yale.edu";
> <http://biryani.med.yale.edu>  xmlns:xsd=
"http://www.w3.org/2001/XMLSchema";
> <http://www.w3.org/2001/XMLSchema> >
>
> <xsd:element name="method1Request">
>
>   <xsd:complexType>
>
>     <xsd:sequence>
>
>         <xsd:element name="element-id" type="xsd:string"/>
>
>   </xsd:sequence>
>
> </xsd:complexType>
>
> <xsd:element name="x-slim">
>
>   <xsd:complexType>
>
>   <xsd:element name="join_paths">
>     <xsd:complexType>
>
>    <xsd:sequence>
>
>         <xsd:element name="path" type="xsd:string"/>
>
>   </xsd:sequence>
>
> </xsd:complexType>
>
>   </xsd:element>
>
>   <xsd:element name="table">
>
>   <xsd:complexType>
>
> <xsd:element name="table_title" type="xsd:string"/>
> <xsd:element name="columns">
>
>   <xsd:complexType>
>
>    <xsd:sequence>
>
>   <xsd:element name="table_column" type="xsd:string"/>
>
> </xsd:sequence>
>
> </xsd:complexType>
>
> </xsd:element>
>
> <xsd:element name="table_fields">
>
>   <xsd:complexType>
>    <xsd:sequence>
>
>   <xsd:element name="field" type="xsd:string"/>
>
> </xsd:sequence>
>
> </xsd:complexType>
>
> </xsd:element>
>
>   </xsd:complexType>
>
>   </xsd:element>
>
>   </xsd:complexType>
>
> </xsd:element>
> </xsd:element>
>
> </xsd:schema><schema targetNamespace="" xmlns=
> "http://www.w3.org/2001/XMLSchema"; <http://www.w3.org/2001/XMLSchema>
><import
> namespace= "http://schemas.xmlsoap.org/soap/encoding/";
> <http://schemas.xmlsoap.org/soap/encoding/> /><element name="method1"
> type="xsd:anyType"/><element name="method1Return"
> type="xsd:anyType"/></schema></wsdl:types>
>
>   <wsdl:message name="method1Response">
>
>     <wsdl:part element="method1Return" name="method1Return"/>
>
>   </wsdl:message>
>
>   <wsdl:message name="method1Request">
>
>     <wsdl:part element="method1" name="part"/>
>
>   </wsdl:message>
>
>   <wsdl:portType name="GetXSLIM">
>
>     <wsdl:operation name="method1">
>       <wsdl:input message="impl:method1Request" name="method1Request"/>
>
>       <wsdl:output message="impl:method1Response" name="method1Response"/>
>
>     </wsdl:operation>
>
>   </wsdl:portType>
>
>   <wsdl:binding name="GetXSLIMSoapBinding" type="impl:GetXSLIM">
>
>     <wsdlsoap:binding style="document" transport=
> "http://schemas.xmlsoap.org/soap/http";
<http://schemas.xmlsoap.org/soap/http>
> />
>
>     <wsdl:operation name="method1">
>
>       <wsdlsoap:operation soapAction=""/>
>
>       <wsdl:input name="method1Request">
>         <wsdlsoap:body namespace=
> "http://biryani.med.yale.edu:8081/axis/services/GetXSLIM";
> <http://biryani.med.yale.edu:8081/axis/services/GetXSLIM>  use="literal"/>
>
>       </wsdl:input>
>
>       <wsdl:output name="method1Response">
>
>         <wsdlsoap:body namespace=
> "http://biryani.med.yale.edu:8081/axis/services/GetXSLIM";
> <http://biryani.med.yale.edu:8081/axis/services/GetXSLIM>  use="literal"/>
>
>       </wsdl:output>
>
>     </wsdl:operation>
>
>   </wsdl:binding>
>
>   <wsdl:service name="GetXSLIMService">
>
>     <wsdl:port binding="impl:GetXSLIMSoapBinding" name="GetXSLIM">
>       <wsdlsoap:address location=
> "http://biryani.med.yale.edu:8081/axis/services/GetXSLIM";
> <http://biryani.med.yale.edu:8081/axis/services/GetXSLIM> />
>
>     </wsdl:port>
>
>   </wsdl:service>
>
> </wsdl:definitions>
>
>
> Bhanu Pabreja wrote:
>
>
> still does not work your server.
>
>
>
> Once you run your server and I hope it is visible on the internet I will
>
> have a look at your wsdl.
>
>
>
> Can u also post your wsdl file in the thread
>
>
>
> Thanx in advance,
>
>
>
> Bhanu
>
>
>
>
>
>
>
> -----Original Message-----
>
> From: remko de knikker [ mailto:[EMAIL PROTECTED]
>
> Sent: Tuesday, June 24, 2003 2:06 PM
>
> To:  [EMAIL PROTECTED]
>
> Subject: Re: Message Style and WSDL
>
>
>
>
>
> Bhanu,
>
> the only other thing that I know of, is that I need to restart my
>
> server, to make it work...?
>
> sorry,
>
> r
>
>
>
> Bhanu Pabreja wrote:
>
>
>
>
>
> This what my deployment descriptor looks like :
>
>
>
> <deployment name="test" xmlns= "http://xml.apache.org/axis/wsdd/";
> <http://xml.apache.org/axis/wsdd/>
>
>            xmlns:java= "http://xml.apache.org/axis/wsdd/providers/java";
> <http://xml.apache.org/axis/wsdd/providers/java>
>
>            xmlns:xsi= "http://www.w3.org/2000/10/XMLSchema-instance";
> <http://www.w3.org/2000/10/XMLSchema-instance> >
>
>  <!-- note that either style="message" OR provider="java:MSG" both
>
>
>
> work -->
>
>
>
>    <service name="FirmTaxonomyModelService" style="message">
>
>    <parameter name="className"
>
> value="com.dumdum.taxonomy.ws.FirmTaxonomyModelMessageStyleService" />
>
>    <parameter name="allowedMethods" value="*" />
>
>  </service>
>
> </deployment>
>
>
>
>
>
> and my wsdl file looks like this:
>
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <wsdl:definitions
>
> targetNamespace="
http://localhost:8080/FTAToolWeb/services/FirmTaxonomyMode
>
>
>
> l
>
>
>
> Service" xmlns= "http://schemas.xmlsoap.org/wsdl/";
> <http://schemas.xmlsoap.org/wsdl/>
>
> xmlns:apachesoap= "http://xml.apache.org/xml-soap";
> <http://xml.apache.org/xml-soap>
>
> xmlns:impl="
http://localhost:8080/FTAToolWeb/services/FirmTaxonomyModelServ
>
>
>
> i
>
>
>
> ce"
>
> xmlns:intf="
http://localhost:8080/FTAToolWeb/services/FirmTaxonomyModelServ
>
>
>
> i
>
>
>
> ce" xmlns:soapenc= "http://schemas.xmlsoap.org/soap/encoding/";
> <http://schemas.xmlsoap.org/soap/encoding/>
>
> xmlns:wsdl= "http://schemas.xmlsoap.org/wsdl/";
> <http://schemas.xmlsoap.org/wsdl/>
>
> xmlns:wsdlsoap= "http://schemas.xmlsoap.org/wsdl/soap/";
> <http://schemas.xmlsoap.org/wsdl/soap/>
>
> xmlns:xsd= "http://www.w3.org/2001/XMLSchema";
> <http://www.w3.org/2001/XMLSchema> ><wsdl:types/>
>
>  <wsdl:message name="fetchDocumentResponse">
>
>    <wsdl:part name="fetchDocumentReturn" type="xsd:anyType"/>
>
>  </wsdl:message>
>
>  <wsdl:message name="fetchDocumentRequest">
>
>  </wsdl:message>
>
>  <wsdl:portType name="FirmTaxonomyModelMessageStyleService">
>
>    <wsdl:operation name="fetchDocument">
>
>      <wsdl:input message="intf:fetchDocumentRequest"
>
> name="fetchDocumentRequest"/>
>
>      <wsdl:output message="intf:fetchDocumentResponse"
>
> name="fetchDocumentResponse"/>
>
>    </wsdl:operation>
>
>  </wsdl:portType>
>
>  <wsdl:binding name="FirmTaxonomyModelServiceSoapBinding"
>
> type="intf:FirmTaxonomyModelMessageStyleService">
>
>    <wsdlsoap:binding style="rpc"
>
> transport= "http://schemas.xmlsoap.org/soap/http";
> <http://schemas.xmlsoap..org/soap/http> />
>
>    <wsdl:operation name="fetchDocument">
>
>      <wsdlsoap:operation soapAction=""/>
>
>      <wsdl:input name="fetchDocumentRequest">
>
>        <wsdlsoap:body
>
> encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/";
> <http://schemas.xmlsoap.org/soap/encoding/>
>
> namespace="
http://localhost:8080/FTAToolWeb/services/FirmTaxonomyModelServi
>
>
>
> c
>
>
>
> e" use="encoded"/>
>
>      </wsdl:input>
>
>      <wsdl:output name="fetchDocumentResponse">
>
>        <wsdlsoap:body
>
> encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/";
> <http://schemas.xmlsoap.org/soap/encoding/>
>
> namespace="
http://localhost:8080/FTAToolWeb/services/FirmTaxonomyModelServi
>
>
>
> c
>
>
>
> e" use="encoded"/>
>
>      </wsdl:output>
>
>    </wsdl:operation>
>
>  </wsdl:binding>
>
>  <wsdl:service name="FirmTaxonomyModelMessageStyleServiceService">
>
>    <wsdl:port binding="intf:FirmTaxonomyModelServiceSoapBinding"
>
> name="FirmTaxonomyModelService">
>
>      <wsdlsoap:address
>
> location="
http://localhost:8080/FTAToolWeb/services/FirmTaxonomyModelServic
>
>
>
> e
>
>
>
> "/>
>
>    </wsdl:port>
>
>  </wsdl:service>
>
> </wsdl:definitions>
>
>
>
> Now this thing clearly says that this is RPC style service and everything
>
> looks to be encoded.
>
>
>
> BTW I dont think so your server is up since I could not access your
>
> webservice's wsdl file.
>
>
>
> Have a look and tell me where I am wrong.
>
>
>
> Bhanu.
>
>
>
>
>
>
>
> -----Original Message-----
>
> From: remko de knikker [ mailto:[EMAIL PROTECTED]
>
> Sent: Tuesday, June 24, 2003 9:01 AM
>
> To:  [EMAIL PROTECTED]
>
> Subject: Re: Message Style and WSDL
>
>
>
>
>
>
>
> Bhanu,
>
>
>
> here's my example for a message-style ws, which works for me.
>
>
>
> <deployment name="GetXSLIM" xmlns= "http://xml.apache.org/axis/wsdd/";
> <http://xml.apache.org/axis/wsdd/>
>
>            xmlns:java= "http://xml.apache.org/axis/wsdd/providers/java";
> <http://xml.apache.org/axis/wsdd/providers/java>
>
>            xmlns:xsi= "http://www.w3.org/2000/10/XMLSchema-instance";
> <http://www.w3.org/2000/10/XMLSchema-instance> >
>
>  <handler name="handlerXSLIM" type="java:ws.xslim.BasicHandler_XSLIM"/>
>
>  <service name="GetXSLIM" style="message">
>
> <requestFlow>
>
>     <handler type="handlerXSLIM"/>
>
>   </requestFlow>
>
>   <responseFlow>
>
>      <handler type="handlerXSLIM"/>
>
> </responseFlow>
>
>   <parameter name="className" value="ws.xslim.GetXSLIM" />
>
>   <parameter name="allowedMethods" value="method1" />
>
>   <parameter name="wsdlInputSchema"
>
> value="
http://biryani.med.yale.edu:8081/axis/files/xslim/GetXSLIM_method1Re
>
>
>
> q
>
>
>
> uest.xsd"/>
>
>  </service>
>
> </deployment>
>
>
>
> Look at the result at
>
> http://biryani.med.yale.edu:8081/axis/services/GetXSLIM?wsdl
>
>
>
> remko
>
>
>
>
>
> Date:  Mon, 23 Jun 2003 18:39:30 -0400
>
> From:  Bhanu Pabreja   <mailto:[EMAIL PROTECTED]>
<[EMAIL PROTECTED]>
>
> To:   [EMAIL PROTECTED]
>
> Reply-to:   [EMAIL PROTECTED]
>
> Subject:  Message Style and WSDL
>
> One step beyond .jws files
>
>  I have made a message style service with one method
>
>
>
>  public Document fetchData(Document doc){
>
>   // logic
>
>  }yl
>
>
>
>  Then I deployed the service using the deploy.wsdd. I could not use the
>
> Java2WSDL utitily to generate "Message" style service so I hand edited one
>
> of the provided examples.
>
>
>
>  But once I deploy it to the /servlet/AxisServlet and try to browse the
>
> generated .wsdl file it is totally a different version of what I have made
>
> ... I mean the wsdl says that it is a RPC style service and the operation
is
>
> encoded.
>
>
>
>  Now the questions I can figure out is :
>
>
>
>  (a) How to make a message style service and create a wsdl file which says
>
> that it is a Message style service.
>
>
>
>
>
>  thanx in advance
>
>
>
>
>
>  dumdum420
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> **********************************************************************
> This email and any files transmitted with it are confidential and
> intended solely for the use of the individual or entity to whom they
> are addressed. If you have received this email in error please notify
> the system manager.
>
> This footnote also confirms that this email message has been swept by
> MIMEsweeper for the presence of computer viruses.
>
> www.mimesweeper.com
> **********************************************************************
>
>
>
>
>
>
>
>
> **********************************************************************
> This email and any files transmitted with it are confidential and
> intended solely for the use of the individual or entity to whom they
> are addressed. If you have received this email in error please notify
> the system manager.
>
> This footnote also confirms that this email message has been swept by
> MIMEsweeper for the presence of computer viruses.
>
> www.mimesweeper.com
> **********************************************************************
>
>

Reply via email to