Domanda

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?

È stato utile?

Soluzione

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).

Altri suggerimenti

According to WS-Addressing specification by W3C organization:

/wsa:MessageID
This OPTIONAL element (of type xs:anyURI) conveys the [message id] property. This element MUST be present if wsa:ReplyTo or wsa:FaultTo is present.

/wsa:ReplyTo
This OPTIONAL element (of type wsa:EndpointReferenceType) provides the value for the [reply endpoint] property. This element MUST be present if a reply is expected. If this element is present, wsa:MessageID MUST be present.

/wsa:FaultTo
This OPTIONAL element (of type wsa:EndpointReferenceType) provides the value for the [fault endpoint] property. If this element is present, wsa:MessageID MUST be present.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top