Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the purpose of WS-Addressing?

I'm just confused with ws-addressing.

Wikipedia says it is a specification of transport-neutral mechanisms that allow web services to "communicate addressing information".

Communicate addressing information? Don't SOAP web services already have that ability to begin with, otherwise how would they be able to communicate at all?

What value does it give and why isn't is part of the default stuff to begin with given that it seems to be providing a core functionality?

like image 858
Question Everything Avatar asked Mar 29 '13 15:03

Question Everything


1 Answers

WS-Addressing is most useful in the context of asynchronous communication through different protocols. It's used to label the messages so that the request and delayed responses can be reconciled against each other later on, regardless of which protocol it's sent through.

If you're using HTTP all the way, you will not need WS-Addressing, that's why it's turned off by default. However, we tend to assume that SOAP can be transmitted only through HTTP, when in fact, it can be transmitted through other means, like SMTP or JMS. He's an illustration to deliver the point.

enter image description here

With WS-Addressing, the transport-specific data are copied over to the SOAP headers. This decouples the address data away from the protocol and into the SOAP message itself, achieving the "transport-neutrality" Wikipedia is talking about.

enter image description here

WS-Addressing plays an important role in the WS* group of specifications (i.e. WS-Security, WS-ReliableMessaging, WS-Coordination).

like image 160
Jops Avatar answered Oct 03 '22 09:10

Jops