Hi Eran!

Eran Chinthaka wrote:
When you do not get an action header when addressing is engaged, u
should throw a fault, according to the spec. I hope you know that part.

Hm. Quick question here - I think there is (or at least should be) a difference between a Module being "engaged" and "required", right? I'm pretty sure we had this discussion before, but the way I think this works is as follows:

CHOICE 1 : Addressing engaged, "required" flag set false

In this case the addressing handlers are deployed, and if someone sends us addressing headers, we'll respond with addressing headers. When sending as a client, we'll use addressing on a per-message basis as determined by whether the client has set the correct properties. When generating WSDL for a service that's been configured like this, we should see "wsa:UsingAddressing" without the wsdl:required attribute. In this configuration, we should NOT throw a fault if we receive a message without addressing headers (unless we're on the client side and we sent a request with addressing headers).

CHOICE 2 : Addressing engaged, "required" flag set true

This is like the last case except that we DO require addressing in all received messages - therefore we should throw a fault any time we don't see the addressing headers.

CHOICE 3 : Addressing not engaged

Nothing happens.

-----

Does this sound right? The "required" flag above is a property in the addressing module's context/configuration.

--Glen

Reply via email to