I'm learning Web Services Addressing and SOAP, but I can't get the importance of WS-Addressing in SOAP. This is quoted from Wikipedia "standardized way of including message routing data within SOAP headers".

As far as I understand that message routing data for a WS is already included in the HTTP header, then why add it to the SOAP?


WS-Addressing is a higher level version of routing information, which does indeed duplicate some of the functionality available at the lower level in http.

You could argue it is not necessary, but SOAP is neutral to http: e.g. SOAP can work over a message queue without http.

As WS-Addressing is higher level, it provides for different response endpoints (fault vs. normal), a message id, and relationship to prior messages by id.

  • Erik Eidt, thanks for the reply. Another question, the "Unique message ID" and "relationship to previous message" prvoide statefulness. So, I wouldn't need to use WSRF. Or I still need to use it to have stateful web services? – AhmedWas Feb 19 '16 at 21:00
  • 1
    I suppose you can look at that as primitive state, but you'd have some work to do to make it general purpose for arbitrary state. Personally, I would use a database for state, because they provide acid guarantees, and using WSRF you'd have to duplicate a bunch of that. I guess on that note, I'd prefer ODATA on top of REST instead of WSRF/SOAP... It's simpler than WS-* and yet rich enough to address many scenarios (like when the client needs to filter/join different data sources). – Erik Eidt Feb 19 '16 at 22:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.