Hey Stefan,
You don't have to modify HttpSoapConsumerMarshaler, you may extend this class 
and reffer it instance using endpoint configuration:
<bean id="my-bean-id" class="org.example.soap.MyMarshaler" />

<http:consumer service="..." marshaler="#my-bean-id" /> 

Your instance will be responsible for creating new exchanges. Example 
implementation:

class MyMarshaler extends HttpSoapConsumerMashaler {
    public MessageExchange createExchange(HttpServletRequest request, 
ComponentContext context) throws Exception {
         MessageExchange ex = super.createExchange(request, context);
         ex.setProperty("a", "b"); // that's magic
         return ex;
    }
}

Best regards,
Lukasz

> Hi everybody,
> 
> I'm trying to modify the HttpSoapConsumerMarshaler to embed some of my SOAP 
> headers of an incoming SOAP message as Message Properties into the Normalized 
> Message dispatched to the NMR. However I just can't figure out how. I found 
> out that the unmodified HttpSoapConsumerMarshaler embeds one property into 
> the Normalized Message that is itself a map of properties originally 
> associated with the SOAP message. But how can I set some of these as single 
> Message Properties without the map in between?
> 
> Thanks,
> Stefan

Reply via email to