Hi,

I've got the classic serialization problem, where I have a class type
(in my case Company) that I want to return from a SOAP call, and I'm
getting the 

No Serializer found to serialize a 'com.objects.Company' using encoding
style 'http://schemas.xmlsoap.org/soap/encoding/'.

error.  The faultcode is SOAP-ENV:Server, so does this mean it's nothing
to do with my call at all?

I think I've covered all the obvious problems, searching the mailing
list and the documentation on the site, but I'm obviously still missing
something, as I'm still getting the above error.

My deployment descriptor is:

<isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment";
             id="urn:CompanyService">
  <isd:provider type="java"
                scope="Request"
                methods="findCompany getCompany">
    <isd:java class="com.services.CompanyService"/>
  </isd:provider>
 
<isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
  <isd:mappings>
    <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding"; 
             xmlns:x="urn:xml-soap-doctrina-scanner" 
             qname="x:Company" 
             javaType="com.objects.Company"
            
java2XMLClassName="org.apache.soap.encoding.soapenc.BeanSerializer"
            
xml2JavaClassName="org.apache.soap.encoding.soapenc.BeanSerializer"/>
  </isd:mappings>
</isd:service>

and my calling code creates a SoapMappingRegistry:

SOAPMappingRegistry lMappingRegistry = new SOAPMappingRegistry();
    BeanSerializer lSerializer = new BeanSerializer();
    lMappingRegistry.mapTypes(Constants.NS_URI_SOAP_ENC, new
QName("urn:xml-soap-doctrina-scanner", "Company"), 
                              CompanyClient.class, lSerializer,
lSerializer);

and it adds it to the call at runtime:

lCall.setSOAPMappingRegistry(lMappingRegistry);

What have I missed?

Thanks,

Tim.


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to