This code smr.mapTypes (Constants.NS_URI_SOAP_ENC,new QName ("", "querySessionBeanReturn"), null, null, sd);
provides a mapping for an element named querySessionBeanReturn that is not in a namespace. However, the respone has this tag <querySessionBeanReturn xmlns="http://soap.ejb.businessobjects.a2g.infocorpnow.com">, which specifies a namespace for this element. You need to provide a mapping like smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("http://soap.ejb.businessobjects.a2g.infocorpnow.com", "querySessionBeanReturn"), null, null, sd); Scott Nichol Do not send e-mail directly to this e-mail address, because it is filtered to accept only mail from specific mail lists. ----- Original Message ----- From: "nilesh" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, May 31, 2004 11:03 AM Subject: Deserializer Error > 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="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. > >