Deserializer Error
"nilesh" <[email protected]>
| Newsgroups | gmane.text.xml.soap.user |
|---|---|
| Message-ID | <[email protected]> |
Hi ,
I am using Apacge SOAP 2.3.1 .I keep getting the following error :
[SOAPException: faultCode=SOAP-ENV:Client; msg=No Deserializer found to deserialize a ' http://soap.ejb.businessobjects.a2g.infocorpnow.com:querySessionBean
Return' using encoding style 'null'.; targetException=java.lang.IllegalArgumentException: No Deserializer found to deserialize a 'http://soap.ejb
.businessobjects.a2g.infocorpnow.com:querySessionBeanReturn' using encoding style 'null'.]
But when i c the request and response on the TCPMON utility , itgives the following :
REQUEST :
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:querySessionBean xmlns:ns1="A2GWebServiceBean" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<myrequest xsi:type="xsd:string"><propertyBag><employeeid>SUPER</employeeid><password>MTliMjg3ZGYyM2NkZmJhYjdiYTZmMzJmNTU5ZGNhNTc=</password><javaSessionBean>A2G_OrganizationsSB</javaSessionBean><function><readDynamicQuery><Query dataTag="Department" maxRecords="1"/></readDynamicQuery></function></propertyBag></myrequest>
</ns1:querySessionBean>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
RESPONSE on TCPMON :
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><querySessionBeanResponse xmlns="A2GWebServiceBean"><querySessionBeanReturn xmlns="http://soap.ejb.businessobjects.a2g.infocorpnow.com"><ReplyInformation><ReturnObject><Department address="82 Westmorland Street" city="Fredericton" country="Canada" departmentid="SNB" description="Service New Brunswick" enterpriseid="PNB" postalcode="E3B 5G4" province="New Brunswick"/><Department address2=" " departmentid="WEBDEP" description="Web Department" enterpriseid="PNB"/></ReturnObject><ErrorObject code=&q
uot;0" message="Success"/></ReplyInformation></querySessionBeanReturn></querySessionBeanResponse></soapenv:Body></soapenv:Envelope>
I'm pasting part of my java soap client used for SOAP Requests and Responses :
org.apache.soap.rpc.Call call = new org.apache.soap.rpc.Call();
call.setTargetObjectURI("A2GWebServiceBean");
call.setMethodName("querySessionBean");
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
org.apache.soap.transport.http.SOAPHTTPConnection conn = new org.apache.soap.transport.http.SOAPHTTPConnection();
conn.setUserName("SUPER");
conn.setPassword("password");
call.setSOAPTransport(conn);
org.apache.soap.encoding.SOAPMappingRegistry smr = new SOAPMappingRegistry ();
StringDeserializer sd = new StringDeserializer ();
smr.mapTypes (Constants.NS_URI_SOAP_ENC,new QName ("", "querySessionBeanReturn"), null, null, sd);
call.getSOAPMappingRegistry();
Below i'm pasting my WSDL file :
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://soap.ejb.businessobjects.a2g.infocorpnow.com" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://soap.ejb.businessobjects.a2g.infocorpnow.com" xmlns:intf="http://soap.ejb.businessobjects.a2g.infocorpnow.com" 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 elementFormDefault="qualified" targetNamespace="http://soap.ejb.businessobjects.a2g.infocorpnow.com" xmlns="http://www.w3.org/2001/XMLSchema">
- <element name="querySessionBean">
- <complexType>
- <sequence>
<element name="arg_0_0" nillable="true" type="xsd:string" />
</sequence>
</complexType>
</element>
- <element name="querySessionBeanResponse">
- <complexType>
- <sequence>
<element name="querySessionBeanReturn" nillable="true" type="xsd:string" />
</sequence>
</complexType>
</element>
</schema>
</wsdl:types>
- <wsdl:message name="querySessionBeanRequest">
<wsdl:part element="impl:querySessionBean" name="parameters" />
</wsdl:message>
+ <wsdl:message name="querySessionBeanResponse">
<wsdl:part element="impl:querySessionBeanResponse" name="parameters" />
</wsdl:message>
- <wsdl:portType name="A2GWebService">
- <wsdl:operation name="querySessionBean">
<wsdl:input message="impl:querySessionBeanRequest" name="querySessionBeanRequest" />
<wsdl:output message="impl:querySessionBeanResponse" name="querySessionBeanResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="A2GWebServiceBeanSoapBinding" type="impl:A2GWebService">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="querySessionBean">
<wsdlsoap:operation soapAction="" />
- <wsdl:input name="querySessionBeanRequest">
<wsdlsoap:body use="literal" />
</wsdl:input>
- <wsdl:output name="querySessionBeanResponse">
<wsdlsoap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="A2GWebServiceService">
- <wsdl:port binding="impl:A2GWebServiceBeanSoapBinding" name="A2GWebServiceBean">
<wsdlsoap:address location="http://aanchal:9080/a2g/services/A2GWebServiceBean" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Please help and tell me where i'm goin wrong...
thanx
Nilesh.