<wsdlsoap:binding style="document" ..and
<wsdlsoap:body .. use="literal"/>
Nicholas Ardlie wrote:
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 so 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 **********************************************************************
