Given that you must send a specific XML document, I recommend that you use the WSDL-first approach rather than the code-first approach. As I said in my previous post, you should start by defining a schema that describes your input and output elements and then construct a WSDL that defines an operation for sending and receiving those elements. An example follows. A couple of notes on the WSDL I developed for you:
1) I have defined a set of wrapper elements around your <RequestDetail> and <ResponseDetail> elements. SOAP requires that the element within the SOAP Body be namespace qualified. Your <RequestDetail> and <ResponseDetail> elements are not qualified; therefore you should wrap them in a namespace qualified element. The wrapper elements are called "searchTest" and "searchTestResponse" to correspond to the operation name. This WSDL conforms to the "wrapped" document/literal convention, so Axis will automatically strip off the wrapper elements for you. 2) You didn't give me the complete details for your response element. If the <ProductDetail> element contains child elements, then you will need to redefine the schema for that element. Once you have finalized the WSDL, run wsdl2java with the -s option to generate your client stub and server skeleton. It will also generate a WSDD for you. Anne <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions targetNamespace="urn:TestSearchEngine" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:TestSearchEngine" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <wsdl:types> <xs:schema targetNamespace="urn:TestSearchEngine" elementFormDefault="unqualified"> <xs:element name="searchTest"> <xs:complexType> <xs:sequence> <xs:element name="RequestDetail" type="requestDetail"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="searchTestResponse"> <xs:complexType> <xs:sequence> <xs:element name="ResponseDetail" type="responseDetail"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="requestDetail"> <xs:sequence> <xs:element name="BookDetail" type="bookDetail"/> <xs:element name="PersonDetail" type="personDetail"/> </xs:sequence> </xs:complexType> <xs:complexType name="bookDetail"> <xs:sequence> <xs:element name="Date" type="xs:date"/> <xs:element name="City" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="personDetail"> <xs:sequence> <xs:element name="Name" type="xs:string"/> <xs:element name="Age" type="xs:integer"/> <xs:element name="Address" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="responseDetail"> <xs:sequence> <xs:element name="ProductDetail" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:schema> </wsdl:types> <wsdl:message name="searchTestRequest"> <wsdl:part name="parameters" element="tns:searchTest"/> </wsdl:message> <wsdl:message name="searchTestResponse"> <wsdl:part name="parameters" type="tns:searchTestResponse"/> </wsdl:message> <wsdl:portType name="TestSearchEngineInterface"> <wsdl:operation name="searchTest"> <wsdl:input message="tns:searchTestRequest" name="searchTestRequest"/> <wsdl:output message="tns:searchTestResponse" name="searchTestResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="wsTestsearchdetailsSoapBinding" type="tns:TestSearchEngineInterface"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="searchTest"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="searchTestRequest"> <wsdlsoap:body use="literal"/> </wsdl:input> <wsdl:output name="searchTestResponse"> <wsdlsoap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="TestSearchEngineInterfaceService"> <wsdl:port binding="tns:wsTestsearchdetailsSoapBinding" name="wsTestsearchdetails"> <wsdlsoap:address location="http://localhost:8080/axis/services/wsTestsearchdetails"/> </wsdl:port> </wsdl:service> </wsdl:definitions> Anne On Sat, Mar 29, 2008 at 10:20 AM, sh_santosh <[EMAIL PROTECTED]> wrote: > > Hi Anne, > > Yes, i need to implement both client and server. as a input SOAP > request inside SOAP body payload containing the > <RequestDetail> element. > > Yes, i have a sample document for the response message also. > <ResponseDetail> > <ProductDetail> > -- some Strings > </ProductDetail> > </ResponseDetail> > > Now, I am searching for How to Generate java2wsdl and wsdl2java any > tool or command that will able to work wiith Axis 1.3, tomcat 5.5.20. and > java. > > There is not a single proper practical example given on Internet for > Documnet litetal web services with Axis. > > Have look into this practically described example to RPC encoded with Axis . > This very helpful. > http://www.onjava.com/pub/a/onjava/2002/06/05/axis.html?page=2 > > I am searching Same type of example for Documnet litetal web services with > Axis. > > Please provide java2wsdl and wsdl2java Tool and Command for Documnet > litetal web services with Axis. > any reference, any tutorial, ?????? > > > Anne, Thank you very much for your reply. > > > > > Regards > Santosh > > > > > > Anne Thomas Manes wrote: > > > > Santosh, > > > > Do I understand your problem correctly: You need to implement both > > client and server, and you must pass a payload containing the > > <RequestDetail> element. > > > > If so, you must start by defining the schema for the <RequestDetail> > > element. Then you should construct a document/literal WSDL that > > defines an operation for passing in the <RequestDetail> element. Do > > you also have a sample document for the response message? You will > > also have to define the schema for the response document. > > > > Anne > > > > On Wed, Mar 26, 2008 at 10:23 AM, sh_santosh <[EMAIL PROTECTED]> > > wrote: > >> > >> Hi Anne , > >> > >> 1st of all Thank you very much for your Reply. > >> I was just going through Blogs written by you and earlier post that you > >> replied for others. > >> > >> Yes, it is clear that server required SOAP request is not sent by > >> client > >> or requester program. > >> Some difference in SOAP msg. so i got exception. but > >> > >> I have No Choice, i have to use that SOAP request only send by > >> requester > >> program. > >> Now in this situation what change i have to do in my WSDL or wsdd or > >> code. > >> > >> is it possible that we made some change in WSDL or wsdd. so that i am > >> able to Accept SOAP request and process it further. Give some idea > >> regarding this issues keeping it that i have to use that SOAP request > >> only. > >> > >> Please see the SOAP request send by Requester or client program > >> :- > >> > >> > >> Content-Type: text/xml; charset=utf-8 > >> SOAPAction: "http://www.test.com/UTSv/2004/01/01/SearchTest" > >> > >> > >> <?xml version="1.0" encoding="utf-8"?> > >> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" > >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > >> <soap:Body> > >> <RequestDetail> > >> <BookDetail> > >> <Date>2008-09-09</Date> > >> <City>London</City> > >> </BookDetail> > >> <PersonDetail> > >> <Name>Santosh</Name> > >> <Age>25</Age> > >> <Address>London</Address> > >> </PersonDetail> > >> </RequestDetail> > >> </soap:Body> > >> </soap:Envelope> > >> > >> =================x > >> > >> > >> Regards > >> Santosh > >> > >> > >> > >> > >> Anne Thomas Manes wrote: > >> > > >> > The message you are sending doesn't match the expected input specified > >> > by the WSDL. > >> > The service is expecting something lie this: > >> > > >> > <?xml version="1.0" encoding="utf-8"?> > >> > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" > >> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > >> > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > >> > xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/"> > >> > <soap:Body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> > >> > <in0 xmlns="urn:TestSearchEngine" xsi:type="enc:string"> > >> > some string > >> > </in0> > >> > </soap:Body> > >> > </soap:Envelope> > >> > > >> > Anne > >> > > >> > > >> > > >> > On Wed, Mar 26, 2008 at 3:23 AM, sh_santosh <[EMAIL PROTECTED]> > >> > wrote: > >> >> > >> >> Dear All, > >> >> > >> >> I have installed Axis 1.3 (Java) and provided a service to > >> >> Requester(other end). At my end when i invoking web service by > >> passing > >> >> XmlRequest as string from java client program then it returns proper > >> >> Response xml. but > >> >> > >> >> The Service Requester(other end) invoking our web services > >> using > >> >> WFETCH tool. They send SOAP request then from Service Provider > >> end(my > >> >> end) > >> >> returns the soapenv:Server.userException - SimpleDeserializer > >> >> encountered a > >> >> child element, which is NOT expected, in something it was trying to > >> >> deserialize. > >> >> > >> >> Please see below the SOAP Request, Exception / Error and WSDL file. > >> >> > >> >> Requester send SOAP request is :- > >> >> > >> >> Content-Type: text/xml; charset=utf-8 > >> >> SOAPAction: "http://www.eviivo.com/UTSv/2004/01/01/SearchTest" > >> >> > >> >> <?xml version="1.0" encoding="utf-8"?> > >> >> <soap:Envelope > >> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" > >> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > >> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > >> >> <soap:Body> > >> >> <RequestDetail> > >> >> <BookDetail> > >> >> <Date>2008-09-09</Date> > >> >> <City>London</City> > >> >> </BookDetail> > >> >> <PersonDetail> > >> >> <Name>Santosh</Name> > >> >> <Age>25</Age> > >> >> <Address>London</Address> > >> >> </PersonDetail> > >> >> </RequestDetail> > >> >> </soap:Body> > >> >> </soap:Envelope> > >> >> > >> >> =================x > >> >> > >> >> Provider end return Exception / Error is :- > >> >> > >> >> <?xml version="1.0" encoding="utf-8"?> > >> >> <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> > >> >> <soapenv:Fault> > >> >> > >> >> <faultcode>soapenv:Server.userException</faultcode> > >> >> <faultstring>org.xml.sax.SAXException: > >> >> SimpleDeserializer encountered a > >> >> child element, which is NOT expected, in something it was trying to > >> >> deserialize.</faultstring> > >> >> <detail> > >> >> <ns1:hostname > >> >> > >> >> > >> xmlns:ns1="http://xml.apache.org/axis/">xmlapps.testgo1.com</ns1:hostname> > >> >> </detail> > >> >> </soapenv:Fault> > >> >> </soapenv:Body> > >> >> </soapenv:Envelope> > >> >> > >> >> ===================x > >> >> > >> >> WSDL file is :- > >> >> > >> >> <?xml version="1.0" encoding="UTF-8"?> > >> >> <wsdl:definitions targetNamespace="urn:TestSearchEngine" > >> >> xmlns="http://schemas.xmlsoap.org/wsdl/" > >> >> xmlns:apachesoap="http://xml.apache.org/xml-soap" > >> >> xmlns:impl="urn:TestSearchEngine" xmlns:intf="urn:TestSearchEngine" > >> >> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > >> >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > >> >> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > >> >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > >> >> <!--WSDL created by Apache Axis version: 1.3 > >> >> Built on Oct 05, 2005 (05:23:37 EDT)--> > >> >> > >> >> <wsdl:message name="searchTestRequest"> > >> >> > >> >> <wsdl:part name="in0" type="soapenc:string"/> > >> >> > >> >> </wsdl:message> > >> >> > >> >> <wsdl:message name="searchTestResponse"> > >> >> > >> >> <wsdl:part name="searchTestReturn" type="soapenc:string"/> > >> >> > >> >> </wsdl:message> > >> >> > >> >> <wsdl:portType name="TestSearchEngineInterface"> > >> >> > >> >> <wsdl:operation name="searchTest" parameterOrder="in0"> > >> >> > >> >> <wsdl:input message="impl:searchTestRequest" > >> >> name="searchTestRequest"/> > >> >> > >> >> <wsdl:output message="impl:searchTestResponse" > >> >> name="searchTestResponse"/> > >> >> > >> >> </wsdl:operation> > >> >> > >> >> </wsdl:portType> > >> >> > >> >> <wsdl:binding name="wsTestsearchdetailsSoapBinding" > >> >> type="impl:TestSearchEngineInterface"> > >> >> > >> >> <wsdlsoap:binding style="rpc" > >> >> transport="http://schemas.xmlsoap.org/soap/http"/> > >> >> > >> >> <wsdl:operation name="searchTest"> > >> >> > >> >> <wsdlsoap:operation soapAction=""/> > >> >> > >> >> <wsdl:input name="searchTestRequest"> > >> >> > >> >> <wsdlsoap:body > >> >> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > >> >> namespace="urn:TestSearchEngine" use="encoded"/> > >> >> > >> >> </wsdl:input> > >> >> > >> >> <wsdl:output name="searchTestResponse"> > >> >> > >> >> <wsdlsoap:body > >> >> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > >> >> namespace="urn:TestSearchEngine" use="encoded"/> > >> >> > >> >> </wsdl:output> > >> >> > >> >> </wsdl:operation> > >> >> > >> >> </wsdl:binding> > >> >> > >> >> <wsdl:service name="TestSearchEngineInterfaceService"> > >> >> > >> >> <wsdl:port binding="impl:wsTestsearchdetailsSoapBinding" > >> >> name="wsTestsearchdetails"> > >> >> > >> >> <wsdlsoap:address > >> >> location="http://localhost:8080/axis/services/wsTestsearchdetails"/> > >> >> > >> >> </wsdl:port> > >> >> > >> >> </wsdl:service> > >> >> > >> >> </wsdl:definitions> > >> >> > >> >> =================x > >> >> > >> >> > >> >> > >> >> 1. I am thinking that SOAP request what they send that is not > >> >> proper/ > >> >> requiered to my end(provider). if so what change i have to do. > >> >> > >> >> I am googling it from last 3 day's and found some tricks > >> which i > >> >> tried but > >> >> Nothing works. > >> >> > >> >> > >> >> Thanx and Regards > >> >> Santosh > >> >> > >> >> > >> >> > >> >> > >> >> -- > >> >> View this message in context: > >> >> > >> > http://www.nabble.com/soapenv%3AServer.userException---SimpleDeserializer-encountered-a-child-element%2C-which-is-NOT-expected%2C-in-something-it-was-trying-to-deserialize-tp16296688p16296688.html > >> >> Sent from the Axis - User mailing list archive at Nabble.com. > >> >> > >> >> > >> >> > >> --------------------------------------------------------------------- > >> >> 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] > >> > > >> > > >> > > >> > >> -- > >> View this message in context: > >> > http://www.nabble.com/soapenv%3AServer.userException---SimpleDeserializer-encountered-a-child-element%2C-which-is-NOT-expected%2C-in-something-it-was-trying-to-deserialize-tp16296688p16301527.html > >> > >> > >> Sent from the Axis - User mailing list archive at Nabble.com. > >> > >> > >> --------------------------------------------------------------------- > >> 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] > > > > > > > > -- > View this message in context: > http://www.nabble.com/soapenv%3AServer.userException---SimpleDeserializer-encountered-a-child-element%2C-which-is-NOT-expected%2C-in-something-it-was-trying-to-deserialize-tp16296688p16370468.html > > > Sent from the Axis - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > 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]
