Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.14.1
-
None
-
Novice
Description
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.
Attachments
Issue Links
- links to