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