HTTP header in SOAP RPC


Can we pass any element and its value as HTTP Header in case of SOAP RPC call??


As long as it is namespace qualified (though there are ways around that), you can use pub.soap.utils:addHeaderEntry to put just about anything in there.

Check out the specs defined in the SOAPDevGuide.pdf that installed with your Developer.

Probably. You will need to use the pub.flow:getTransportInfo built-in service to attempt to get the HTTP header variables.

Pretty sure sending HTTP header variables in soap rpc would be non-standard except for protocol-level properties. Any other data should be in the soap request. Also, IS currently does not support soap headers in soap rpc style messages.

Lots of discussion here about why using the document / literal style of soap messaging is better from both interoperability and usability standpoints.



The add header entry would just add elements to the soap request header. The question was related to HTTP header variables, I think.

On the inbound side, IS does not support use of soap request headers unless you write a custom soap rpc processor to do this. On the outbound side as long as you can build the message manually, you could add headers to a request message.

The web services connector wizard does not handle soap header elements described in a WSDL so any Flow it generates will not contain mappings to populate them.


Yep - I wasn’t paying attention. :slight_smile: I was thinking about adding SOAP headers manually to a SOAP message, rather than HTTP headers to a SOAP message -thus my response.

Sounds like what Snehal wants to do is outbound, so he could take a non-standard approach and add HTTP headers via custom java service. I wouldn’t recommend it, though.

Snehal, can you give more detail on exactly what (and why) you want to achieve?

Thanks Mark and Phil!!

Yeah, I want to retrieve http header of the request which invokes my web service. getTransportInfo can do it.

Mark, the source application uses webSphere session mgmt and would pass session information in http header. I need to pass this session info to backend application.

Thanks again.