[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: NEW ISSUE: What is the effective policy when RM policy assertionis present at multiple places?
Title: What is the effective policy when RM policy assertion is present at multiple places? Description: WSRMP spec currently contains the following text: "If the RM policy assertion appears in a policy expression attached to a wsdl:binding as well as to the individual wsdl:binding level message definitions(wsdl:binding/wsdl:operation/wsdl:input, wsdl:binding/wsdl:operation/wsdl:output, wsdl:binding/wsdl:operation/wsdl:fault), the parameters in the former MUST be used and the latter ignored. If the RM policy assertion appears in a policy expression attached to a wsdl:port as well as to the other allowed WSDL/1.1 elements, the parameters in the former MUST be used and the latter ignored." Firstly, we do not define any RM policy assertion parameters, so I'm not sure what the above means. But it does give the impression that: RM-policy-assertion(port) trumps RM-policy-assertion(binding) which in turn trumps RM-policy-assertion(message). Given that we do not define any parameters the above statement doesn't mean anything expect in the context of wsp:Optional. Unless WS-Policy and friends define how wsp:Optional is dealt with in such cases, I believe we should define how things work in the realm of WSRM. Specifically: If wsdl:binding/wsdl:operation/wsdl:input (or wsdl:output or wsdl:fault) has <wsrmp:RMAssertion wsp:Optional='false'/> and wsdl:binding has <wsrmp:RMAssertion wsp:Optional='true'/> then the message-level assertion should trump the binding-level assertion (i.e. RM is mandatory for that message). The message-level assertion is more specific and that is the one that should be used (for that message) than the binding-level assertion. Similarly, If wsdl:binding has <wsrmp:RMAssertion wsp:Optional='false'/> and wsdl:service/wsdl:port has <wsrmp:RMAssertion wsp:Optional='true'/> then the binding-level assertion should trump the port-level assertion (i.e. RM is still mandatory for that binding). The binding-level assertion is a contract that must be adhered to by any port that uses it (one could argue that the assertion at the port is in violation of the binding contract). Justification: See above. Target: wsrm policy Proposal: Include language in the spec that makes it clear how wsp:Optional is handled when RM assertion is present at more than one WSDL constructs.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]