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 > ********************************************************************** > >
