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]