Get the tools you need to learn Java skills fast!
Video tutorials, eBooks, hands-on lab exercises, sample code.
Get started
The moose likes Web Services Certification (SCDJWS/OCEJWSD) and the fly likes SOAP header blocks: Are they specific to the binding? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Badass: Making Users Awesome this week in the Game Development forum!
JavaRanch » Java Forums » Certification » Web Services Certification (SCDJWS/OCEJWSD)
Bookmark "SOAP header blocks: Are they specific to the binding?" Watch "SOAP header blocks: Are they specific to the binding?" New topic

SOAP header blocks: Are they specific to the binding?

R Srini
Ranch Hand

Joined: Feb 19, 2010
Posts: 215
I see the following in the SOAP Version 1.2 Part 0 document:

"Note, however, that if the application requires the use of features that can only have a binding-specific expression within the SOAP infoset, i.e., using SOAP header blocks, then the application must choose HTTP POST method with a SOAP message in the request body."

This seems to imply that using SOAP headers is binding-specific. I understand "binding" to mean protocols (transport layer?) like http and smtp.

Question: No matter how the data is transmited - could be http, smtp, or anything else - I can always send SOAP headers as part of the data being sent. So it does not seem to be "binding-specific", at least on the face of it. What am I not understanding here?

Any thoughts on this? Please feel free to correct me on any or all of the above, except the quote from the Part 0 document
Ivan Krizsan
Ranch Hand

Joined: Oct 04, 2006
Posts: 2198
If you use HTTP transport for a SOAP web service, then all requests sent to a service will use the HTTP POST method - see section 4.1.2 in the document you gave the link to.
Generally speaking, the use of SOAP header blocks does not imply the use of HTTP transport. A SOAP header block is a piece of XML data inserted in a SOAP message, which also is XML data, so there is nothing connecting it to HTTP. Of course, there may be a case when a SOAP header block indeed is related to the HTTP transport protocol in some way. I have a feeling that it is not a great idea to do things like this if you do not want to lock your web service to HTTP.
Best wishes!
I agree. Here's the link:
subject: SOAP header blocks: Are they specific to the binding?