- This topic has 1 reply, 2 voices, and was last updated 17 years, 11 months ago by Brian Fernandes.
-
AuthorPosts
-
darbvinMemberI used myEclipse to generate a web service based on a java class & interface. My client requires RPC/Literal, so that is the type that I chose. When I call the web service inside the Web Service Explorer it works wonderfully, but my client gets a deserializing error. Is there some sort of type mapping that I need to include? (The url that is in the wsdl doesn’t actually exist – is that part of the problem?)
http://localhost:8081/MVP/services/CustomerLookup?WSDL:
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:tns="http://services.ivr.milsoft.com" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://services.ivr.milsoft.com"> <wsdl:types> <xsd:schema targetNamespace="http://services.ivr.milsoft.com" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:complexType name="ArrayOfArrayOfString"> <xsd:sequence> <xsd:element name="ArrayOfString" type="tns:ArrayOfString" nillable="true" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ArrayOfString"> <xsd:sequence> <xsd:element name="string" type="xsd:string" nillable="true" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:schema> </wsdl:types> <wsdl:message name="getMatchesRequest"> <wsdl:part name="in0" type="xsd:string" /> <wsdl:part name="in1" type="xsd:int" /> </wsdl:message> <wsdl:message name="getMatchesResponse"> <wsdl:part name="out" type="tns:ArrayOfArrayOfString" /> </wsdl:message> <wsdl:portType name="CustomerLookupPortType"> <wsdl:operation name="getMatches"> <wsdl:input message="tns:getMatchesRequest" name="getMatchesRequest" /> <wsdl:output message="tns:getMatchesResponse" name="getMatchesResponse" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="CustomerLookupHttpBinding" type="tns:CustomerLookupPortType"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="getMatches"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="getMatchesRequest"> <wsdlsoap:body namespace="http://services.ivr.milsoft.com" use="literal" /> </wsdl:input> <wsdl:output name="getMatchesResponse"> <wsdlsoap:body namespace="http://services.ivr.milsoft.com" use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="CustomerLookup"> <wsdl:port binding="tns:CustomerLookupHttpBinding" name="CustomerLookupHttpPort"> <wsdlsoap:address location="http://localhost:8081/MVP/services/CustomerLookup" /> </wsdl:port> </wsdl:service> </wsdl:definitions>
The exact error that my client sees (I believe the client is using Axis deployed on JBoss):
org.xml.sax.SAXException: Deserializing parameter 'out': could not find deserializer for type {http://services.ivr.milsoft.com}ArrayOfArrayOfString}}
Many thanks in advance!
Darcy
Brian FernandesModeratorDarcy,
This looks like an error on the client side. I’m afraid I’m not well versed with Axis so I cannot help too much with this particular case.
Given your WSDL file, the non-existence of the URL you mentioned should not be a problem.These links seemed to have something useful to say:
http://forum.java.sun.com/thread.jspa?threadID=598096&messageID=3179703
http://www.jboss.com/?module=bb&op=viewtopic&t=64578Hope this helps.
-
AuthorPosts