Hi all,
I have a document style web service. I used wsdl2java and java2wsdl tools and the service is deployed OK. The service only has one method that takes four parameters.
But when I call the service, it didn't work. I found out that only the first parameter is deserialized by looking at the log. It really baffled me. Is there anything wrong with my wsdl?
Has anyone had that happen before? Here is my wsdl:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://companya.com xmlns="<http://schemas.xmlsoap.org/wsdl/>" xmlns:apachesoap="<http://xml.apache.org/xml-soap>" xmlns:impl="<http://companya.com>" xmlns:intf="http://companya.com" 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:types>
<schema targetNamespace="http://companya.com" xmlns="<http://www.w3.org/2001/XMLSchema>">
<element name="in0" type="xsd:string"/>
<element name="in1" type="xsd:string"/>
<element name="in2" type="xsd:string"/>
<element name="in3" type="xsd:string"/>
<complexType name="ErrorMessage">
<sequence>
<element name="errorText" nillable="true" type="xsd:string"/>
<element name="errorCode" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="ArrayOfErrorMessage">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="impl:ErrorMessage[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="User">
<sequence>
<element name="id" nillable="true" type="xsd:string"/>
<element name="errors" nillable="true" type="impl:ArrayOfErrorMessage"/>
</sequence>
</complexType>
<element name="authenticateReturn" type="impl:User"/>
</schema>
</wsdl:types>
<wsdl:message name="authenticateRequest">
<wsdl:part element="intf:in0" name="in0"/>
<wsdl:part element="intf:in1" name="in1"/>
<wsdl:part element="intf:in2" name="in2"/>
<wsdl:part element="intf:in3" name="in3"/>
</wsdl:message>
<wsdl:message name="authenticateResponse">
<wsdl:part element="intf:authenticateReturn" name="authenticateReturn"/>
</wsdl:message>
<wsdl:portType name="Authenticator">
<wsdl:operation name="authenticate" parameterOrder="in0 in1 in2 in3">
<wsdl:input message="intf:authenticateRequest" name="authenticateRequest"/>
<wsdl:output message="intf:authenticateResponse" name="authenticateResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="AuthenticatorSoapBinding" type="intf:Authenticator">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/ <http://schemas.xmlsoap.org/soap/http>>
<wsdl:operation name="authenticate">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="authenticateRequest">
<wsdlsoap:body namespace="http://companya.com" use="literal"/>
</wsdl:input>
<wsdl:output name="authenticateResponse">
<wsdlsoap:body namespace="http://companya.com" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="AuthenticatorService">
<wsdl:port binding="intf:AuthenticatorSoapBinding" name="Authenticator">
<wsdlsoap:address location="http://localhost:8011/axis/services/Authenticator"/ <http://localhost:8011/axis/services/Authenticator>>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
