This week's book giveaway is in the Jobs Discussion forum.
We're giving away four copies of Customer Requirements for Developers and have Marcho Behler on-line!
See this thread for details.
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 Customer Requirements for Developers this week in the Jobs Discussion 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!
Don't get me started about those stupid light bulbs.
subject: SOAP header blocks: Are they specific to the binding?
It's not a secret anymore!