Hi;

This topic comes infornt of us every mounth in this mail group. the reason is 
the server's answer.The answer comig from the server is not same with the one 
promised by the wsdl. So ask for the wsdl and regenerate your code and try it. 

If the order of the elements of the response change or some elements are added 
to the resonse then this issue appears.

Yours

 Ibrahim DEMIR
CyberSoft Yazilim Muh.
http://www.ibrahimdemir.org

     
           
     




________________________________
From: Larry Meadors <larry.mead...@gmail.com>
To: axis-user@ws.apache.org
Sent: Wednesday, July 22, 2009 12:33:30 AM
Subject: ADBException: Unexpected subelement ISBN

Man this stuff is tricky. :-)

I have a wsdl file that I got from a vendor, and I need to use to
build a service (it's included below) to integrate with their product.

I generated the code from it, wrote my implementation bit, built and
deployed it, but when I call it, I get the exception above...and just
have no clue where to look for the problem. :-(

Help would be very appreciated, and if that's not enough, I'm totally
willing to bribe people for helping me fix my crap. :-D

Larry


Here's the SOAP request:

<SOAP-ENV:Envelope
        xmlns:xsd="http://www.w3.org/2001/XMLSchema";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
        SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
        xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";>
    <SOAP-ENV:Body>
        
            <ISBN xsi:type="xsd:string">9780792850977</ISBN>
            <CustomerAccount xsi:type="xsd:string">cust</CustomerAccount>
            <CustomerSubAccount 
xsi:type="xsd:string">custsub</CustomerSubAccount>
            <LoginName xsi:type="xsd:string">login</LoginName>
            <LoginPassword xsi:type="xsd:string">pass</LoginPassword>
        </getBookInfoByISBN>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Here's the WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://www.dynix.com/schema/book";
xmlns="http://schemas.xmlsoap.org/wsdl/";
                  xmlns:apachesoap="http://xml.apache.org/xml-soap";
xmlns:impl="http://www.dynix.com/schema/book";
                  xmlns:intf="http://www.dynix.com/schema/book";
                  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:tns1="GetBookInfoByISBN"
                  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>
        <schema targetNamespace="GetBookInfoByISBN"
xmlns="http://www.w3.org/2001/XMLSchema";>
            <complexType name="BookInfoType">
                <sequence>
                    <element maxOccurs="1" minOccurs="0" name="Title" 
nillable="true"
type="xsd:string"/>
                    <element maxOccurs="1" minOccurs="0" name="Author"
nillable="true" type="xsd:string"/>
                    <element maxOccurs="1" minOccurs="0" name="ISBN" 
nillable="true"
type="xsd:string"/>
                    <element maxOccurs="1" minOccurs="0" name="Publisher"
nillable="true" type="xsd:string"/>
                    <element maxOccurs="1" minOccurs="0" name="PublicationDate"
nillable="true" type="xsd:string"/>
                    <element maxOccurs="1" minOccurs="0" name="PublicationPlace"
nillable="true" type="xsd:string"/>
                    <element maxOccurs="1" minOccurs="0" name="Edition"
nillable="true" type="xsd:string"/>
                    <element name="DiscountPrice" type="xsd:double"/>
                    <element maxOccurs="1" minOccurs="0" name="Availability"
nillable="true" type="xsd:string"/>
                    <element name="ListPrice" type="xsd:double"/>
                    <element name="DiscountPercent" type="xsd:double"/>
                </sequence>
            </complexType>
            <complexType name="BookInfoResponseType">
                <sequence>
                    <element maxOccurs="1" minOccurs="0" name="Status"
nillable="true" type="xsd:string"/>
                    <element name="BookInfo" nillable="true" 
type="tns1:BookInfoType"/>
                    <element maxOccurs="1" minOccurs="0" name="Marc" 
nillable="true"
type="xsd:string"/>
                </sequence>
            </complexType>
            <element name="GetBookInfoByISBN">
                <complexType>
                    <sequence>
                        <element name="ISBN" type="xsd:string"/>
                        <element name="CustomerAccount" type="xsd:string"/>
                        <element name="CustomerSubAccount" type="xsd:string"/>
                        <element name="LoginName" type="xsd:string"/>
                        <element name="LoginPassword" type="xsd:string"/>
                    </sequence>
                </complexType>
            </element>
            <element name="GetBookInfoByISBNResponse">
                <complexType>
                    <sequence>
                        <element name="GetBookInfoByISBNResult" 
type="tns1:BookInfoResponseType"/>
                    </sequence>
                </complexType>
            </element>
        </schema>
    </wsdl:types>
    <wsdl:message name="getBookInfoByISBNResponse">
        <wsdl:part element="tns1:GetBookInfoByISBNResponse" name="parameters"/>
    </wsdl:message>
    <wsdl:message name="getBookInfoByISBNRequest">
        <wsdl:part element="tns1:GetBookInfoByISBN" name="parameters"/>
    </wsdl:message>
    <wsdl:portType name="BookInfoPortType">
        <wsdl:operation name="getBookInfoByISBN" parameterOrder="">
            <wsdl:input message="impl:getBookInfoByISBNRequest"
name="getBookInfoByISBNRequest"/>
            <wsdl:output message="impl:getBookInfoByISBNResponse"
name="getBookInfoByISBNResponse"/>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="BookInfoPortSoapBinding" type="impl:BookInfoPortType">
        <wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="getBookInfoByISBN">
            <wsdlsoap:operation soapAction=""/>
            <wsdl:input name="getBookInfoByISBNRequest">
                <wsdlsoap:body namespace="GetBookInfoByISBN" use="literal"/>
            </wsdl:input>
            <wsdl:output name="getBookInfoByISBNResponse">
                <wsdlsoap:body namespace="GetBookInfoByISBN" use="literal"/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="BookInfoService">
        <wsdl:port binding="impl:BookInfoPortSoapBinding" name="BookInfoPort">
            <wsdlsoap:address
location="http://fuse.dynix.com:8080/vip/services/BookInfoPort"/>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>



      

Reply via email to