Hi all.
I posted earlier today about my problems with serializing on return
from a service-invocation from different transports:
I have since chased it down further and found out that it is the
TypeMapping returned by SerializationContext.getTypeMapping() that is
different between http (which works) and other transports (that do not
work).

At what point and where does this configuration get set? My config is
exactly the same between transports, but the getTypeMapping() returns
a TypeMapping with no Serializer on other transports than http
implemented by me.
I am using CastorSerializers, here is the code for my custom "transport":

                        AxisEngine engine = getAxisServer();
                        MessageContext ctx = new MessageContext(engine);
                        Message serverRequest = new Message(soapRequest); // 
Message String
                        ctx.setRequestMessage(serverRequest);
                        
                        ctx.setTargetService(serviceName);
                engine.invoke( ctx );
                
                        Message responseMsg = ctx.getResponseMessage();
                        SOAPEnvelope envelope = responseMsg.getSOAPEnvelope();
                        Element envElement = envelope.getAsDOM(); // this is 
where the
exception is thrown
                        String strSOAPBody = 
XMLUtils.ElementToString(envElement);
                        return strSOAPBody;

Am I missing something that I shouuld set on the MessageContext for
the TypeMappings to be set up correctly for the response?
As I said, it works fine on http, but this particular implementation
does not work.

regards
Wille Faler

Reply via email to