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">&lt;propertyBag&gt;&lt;employeeid&gt;SUPER&lt;/employeeid&gt;&lt;password&gt;MTliMjg3ZGYyM2NkZmJhYjdiYTZmMzJmNTU5ZGNhNTc=&lt;/password&gt;&lt;javaSessionBean&gt;A2G_OrganizationsSB&lt;/javaSessionBean&gt;&lt;function&gt;&lt;readDynamicQuery&gt;&lt;Query
 dataTag=&quot;Department&quot; 
maxRecords=&quot;1&quot;/&gt;&lt;/readDynamicQuery&gt;&lt;/function&gt;&lt;/propertyBag&gt;</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";>&lt;ReplyInformation&gt;&lt;ReturnObject&gt;&lt;Department
 address=&quot;82 Westmorland Street&quot; city=&quot;Fredericton&quot; 
country=&quot;Canada&quot; departmentid=&quot;SNB&quot; description=&quot;Service New 
Brunswick&quot; enterpriseid=&quot;PNB&quot; postalcode=&quot;E3B 5G4&quot; 
province=&quot;New Brunswick&quot;/&gt;&lt;Department address2=&quot; &quot; 
departmentid=&quot;WEBDEP&quot; description=&quot;Web Department&quot; 
enterpriseid=&quot;PNB&quot;/&gt;&lt;/ReturnObject&gt;&lt;ErrorObject 
code=&quot;0&quot; 
message=&quot;Success&quot;/&gt;&lt;/ReplyInformation&gt;</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.

Reply via email to