The Axis encoding framework has changed.
You should update your version of Axis, and make necesary changes to your
deserializer.



Rich Scheuerle
XML & Web Services Development
512-838-5115  (IBM TL 678-5115)


                                                                                       
                                           
                      "Koen Weyn"                                                      
                                           
                      <[EMAIL PROTECTED]        To:       <[EMAIL PROTECTED]>    
                                           
                      >                        cc:                                     
                                           
                                               Subject:  Custom deserializer           
                                           
                      02/12/2002 05:44                                                 
                                           
                      AM                                                               
                                           
                      Please respond to                                                
                                           
                      axis-user                                                        
                                           
                                                                                       
                                           
                                                                                       
                                           



Hello all,

I have written a custom deserializer, but I can't seem to let it get used
The deserializer extends org.apache.axis.encoding.Deserializer and I
install
it as follows:

MessageContext msgContext = new MessageContext(new AxisServer());
TypeMappingRegistry reg = msgContext.getTypeMappingRegistry();
QName qName = new QName        ("http://www.hostname.com/
","QueryServicesResult");
reg.addDeserializerFactory(qName, QueryServicesResult.class,
ProviderDeserializerFactory.getInstance());
DeserializationContext dser = new DeserializationContext(
             new InputSource(new FileReader("services_out2.xml")),
             msgContext, Message.RESPONSE);
dser.parse();

Below are the (snipped) contents of services_out2.xml. This is a response I
capped from a .NET engine I am trying to communicate with.
Does anybody have a clue why my ProviderDeserializerFactory.getDeserializer
isn't called ?

I have tried omitting the namespace, but that didn't work either.

For this sample, I could do without custom deserialization, but for other
calls I can't.

Setting the response type is an option, I only want to use when everything
else fails.

Thanks in advance,

Koen

services_out2.xml:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
  <soap:Body>
    <QueryServicesResponse xmlns="http://www.hostname.com/";>
      <QueryServicesResult>0</QueryServicesResult>
    </QueryServicesResponse>
  </soap:Body>
</soap:Envelope>





+-------------------------------------+
+ Koen Weyn
+ Planet Internet NV
+ A: Rijnkaai 37, B-2000 Antwerpen
+ E: [EMAIL PROTECTED]
+ W: http://www.planetinternet.be
+-------------------------------------+




Reply via email to