Hi Anne, while i generate wsdl2java i got this exception :
java.io.IOException: Type {urn:TestSearchEngine}searchTestResponse is referenced but not defined. at org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(SymbolTable.java:665) at org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:545) at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:518) at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:495) at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:361) at java.lang.Thread.run(Thread.java:595) For Testing purpose, i want to take 2 argument and return a result. while run wsdl2java i got exception. is this related to beanMapping or typeMapping or something missing in WSDL please see wsdl : <?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:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:types> <xsd:schema targetNamespace="urn:TestSearchEngine" elementFormDefault="unqualified"> <xsd:element name="searchTest"> <xsd:complexType> <xsd:sequence> <xsd:element minOccurs="0" maxOccurs="1" name="arg1" type="xsd:int" /> <xsd:element minOccurs="0" maxOccurs="1" name="arg2" type="xsd:int" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="searchTestResponse"> <xsd:complexType> <xsd:sequence> <xsd:element minOccurs="0" maxOccurs="1" name="addResult" type="xsd:int" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd: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> Thanx Anne Thomas Manes wrote: > > 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] > > > -- 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-tp16296688p16380714.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]