OSB question : passing a user defined transport header to a proxy service
Hi All,
I have a proxy service that calls another proxy service. The protocol for the "called proxy service" is set to local. The calling proxy service has a "transport header" action to add a user defined header to the outbound request.
I log the outbound request in the calling proxy service before publishing/calling the other proxy service. It does have header set as expected. But the called proxy service does not get this header.
As a note in the "transport" tab "get all headers" is set to true.
Please suggest
Here is the outbound xml gets printed just before calling the proxy service
<con:endpoint name="BusinessService$userProvisioning$businessService$HttpMessageSender" xmlns:con="http://www.bea.com/wli/sb/context">
<con:service/>
<con:transport>
<con:uri>http://localhost:8064/ProvisioningService/</con:uri>
<con:mode>request-response</con:mode>
<con:qualityOfService>best-effort</con:qualityOfService>
<con:request xsi:type="http:HttpRequestMetaData" xmlns:http="http://www.bea.com/wli/sb/transports/http" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tran:headers xsi:type="http:HttpRequestHeaders" xmlns:tran="http://www.bea.com/wli/sb/transports">
<tran:user-header name="JMS_BEA_RedeliveryLimit" value="1"/>
<tran:user-header name="JMSDeliveryMode" value="2"/>
<tran:user-header name="JMSExpiration" value="0"/>
<tran:user-header name="JMSMessageID" value="ID:<914937.1294164899050.0>"/>
<tran:user-header name="JMSPriority" value="4"/>
<tran:user-header name="JMSRedelivered" value="false"/>
<tran:user-header name="JMSTimestamp" value="1294164899050"/>
<tran:user-header name="JMSXDeliveryCount" value="1"/>
*<tran:user-header name="reResolvedAddress" value="http://LPF004689:8080/axis2/services/provisioning/"/>*
*<tran:user-header name="reResolvedRegion" value="MB"/>*
<http:Content-Type>application/soap+xml; charset=utf-8</http:Content-Type>
</tran:headers>
<tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
</con:request>
</con:transport>
<con:security>
<con:doOutboundWss>false</con:doOutboundWss>
</con:security>
</con:endpoint>>
And here is the inbound xml getting printed inside the called proxy service
inbound="<con:endpoint name="ProxyService$userProvisioning$proxyService$LocalSoapListener" xmlns:con="http://www.bea.com/wli/sb/context">
<con:service/>
<con:transport>
<con:mode>request-response</con:mode>
<con:qualityOfService>best-effort</con:qualityOfService>
<con:request xsi:type="loc:LocalRequestMetaData" xmlns:loc="http://www.bea.com/wli/sb/transports/local" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tran:headers xsi:type="loc:LocalRequestHeaders" xmlns:tran="http://www.bea.com/wli/sb/transports"/>
<tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
</con:request>
<con:response xsi:type="loc:LocalResponseMetaData" xmlns:loc="http://www.bea.com/wli/sb/transports/local" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<tran:headers xsi:type="loc:LocalResponseHeaders" xmlns:tran="http://www.bea.com/wli/sb/transports"/>
<tran:response-code xmlns:tran="http://www.bea.com/wli/sb/transports">0</tran:response-code>
</con:response>
</con:transport>
<con:security>
<con:transportClient>
<con:username><anonymous></con:username>
</con:transportClient>
</con:security>
</con:endpoint>"