Ralf Steppacher created CAMEL-8351:
--------------------------------------

             Summary: Spring-ws consumer ignores breadcrumbId http header
                 Key: CAMEL-8351
                 URL: https://issues.apache.org/jira/browse/CAMEL-8351
             Project: Camel
          Issue Type: Improvement
          Components: camel-spring-ws
    Affects Versions: 2.14.1
            Reporter: Ralf Steppacher


The spring-ws consumer does not pick up a {{breadcrumbId}} HTTP header. I tried 
to find a hook where I could jump in and make the breadcrumbId from the HTTP 
headers available, but could not find any.

The spring-ws endpoint ({{SpringWebserviceConsumer}}) does not care about HTTP 
headers, only about SOAP headers and properties of the 
{{org.springframework.ws.context.MessageContext}}. SOAP headers get converted 
into exchange headers while message context properties get converted into 
exchange properties. Properties could be added by using a 
{{org.springframework.ws.server.EndpointInterceptor}}.

A breadcrumbId property is not picked up by Camel though. The 
{{org.apache.camel.impl.DefaultUnitOfWork}} creates a new breadcrumbId because 
it only checks the headers of the in-message, not the exchange properties for 
an already existing breadcrumb ID.
A SOAPHeader "breadcrumbId" is copied over to the in-message headers and picked 
up by the DefaultUnitOfWork, but it is not automagically converted from 
{{org.springframework.ws.soap.saaj.SaajSoapHeaderElement}} to its text content.

Ideally the web service consumer would pick up the breadcrumId (and others) 
from the HTTP headers and restore them as in-message headers.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to