- From: William Henry <william.henry@iona.com>
- Date: Wed, 2 Aug 2006 15:11:51 -0600
- To: public-ws-policy@w3.org
- Cc: "Yalcinalp, Umit" <umit.yalcinalp@sap.com>
Hi Umit et al, I'd like to comment on Umit's earlier discussion on the usage on the optional tag. From what I understand Umit is raising the issue around what is the expected behavior when a client initiates a request to a service that has some policy as optional. Specifically should the WG specify the expected behavior in the Framework or Primer. I think Umit raises a good point. (If of course I understand the issue correctly) [If this is the wrong way to discuss this please let this novice know the right way] At the endpoint level: The example that seems to be bantered about is regarding MTOM. Suppose the MTOM is optional. The client knows MTOM and initiates a request using MTOM. Surely it is a fair enough assumption that the server would reply using MTOM. I would assume that on an optional policy the initiator then decides the conversation. And so from then on, in the conversation, all is MTOM. If the client decides to use the service again and initiates without using MTOM then the server should assume that they are not using MTOM (and should assume that they can't or do not want to) and therefore reply appropriately. (I know if I am shopping and someone makes a service claim as an option and I intend to us it then I expect them to behave a certain way - e.g. advertising that they take AmEX and then refusing my AmEx card is NOT good behavior unless of some extra circumstances) At the message level it seems to me that it would be in very poor taste for a service to have defined optional on the inbound and required on the outbound - when you're talking about transports/ protocols etc. e.g. optional encryption on the inbound message and then require it on the outbound. Why would someone design their interface like this? And surely the client would see the assertion on the outbound and go look for this service elsewhere. And if it's optional on the inbound and the client doesn't use it then the same behavior of client-is-right holds. I'm bet I'm missing some other examples or points here. Am I missing some more complicated issues? But I do think Umit raises a good point about documenting some best practices at the very least about the use of optional. The good news is that practitioners will very quickly come to some understanding about this when their services don't get used :-) But should the WG have something to say on the matter? Either recommendations or requirements? Please let me know if I'm supposed to be logging this elsewhere. In bugzilla under Umit's issue? Some of you kind folks will put me right! :-) Regards, William
Received on Wednesday, 2 August 2006 21:12:19 UTC