[
https://issues.apache.org/jira/browse/CXF-5645?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jim Ma resolved CXF-5645.
-------------------------
Resolution: Fixed
> wsp:Optional isn't adhered to for WS-RM policy in WSDL
> ------------------------------------------------------
>
> Key: CXF-5645
> URL: https://issues.apache.org/jira/browse/CXF-5645
> Project: CXF
> Issue Type: Bug
> Components: WS-* Components
> Affects Versions: 3.0.0-milestone2, 2.7.10
> Reporter: Tadayoshi Sato
> Assignee: Jim Ma
> Attachments: ws-rm.zip
>
>
> The {{wsp:Optional}} attribute doesn't work for WS-RM. As far as the specs
> tell both WS-Addressing and WS-RM should support {{wsp:Optional}}, that is,
> if {{wsp:Optional}} is set to {{true}} on a WS-RM policy the WS-RM policy
> should become optional -- the endpoint should allow both messages with and
> without WS-RM \[1\]. However, my experimentation showed that it actually
> doesn't.
> What I did is as follows (see the attached reproducer for details):
> # Configured in WSDL ({{greeting.wsdl}}) an endpoint as optionally WS-RM
> enabled like the following:
> {code:xml}
> <wsdl:binding name="GreetingServiceSoapBinding"
> type="tns:GreetingService">
> <wsp:Policy xmlns:wsp="http://www.w3.org/2006/07/ws-policy">
> <wsam:Addressing
> xmlns:wsam="http://www.w3.org/2007/02/addressing/metadata"
> wsp:Optional="true" />
> <wsrmp:RMAssertion
> xmlns:wsrmp="http://schemas.xmlsoap.org/ws/2005/02/rm/policy"
> wsp:Optional="true" />
> </wsp:Policy>
> ...
> {code}
> # Sent a WS-RM unaware (= no SOAP header) SOAP request from the client but
> got the following SOAP Fault:
> {code:xml}
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
> <soap:Body>
> <soap:Fault>
> <faultcode>soap:Server</faultcode>
> <faultstring>WS-Addressing is required by this endpoint.</faultstring>
> </soap:Fault>
> </soap:Body>
> </soap:Envelope>
> {code}
> [1] In WS-RM Policy 1.1 p.8:
> {quote}
> /wsrmp:RMAssertion/@wsp:Optional="true"
> Per WS-Policy, this is compact notation for two policy alternatives, one with
> and one without the assertion. The intuition is that the behavior indicated
> by the assertion is optional, or in this case, that WS-ReliableMessaging MAY
> be used.
> {quote}
--
This message was sent by Atlassian JIRA
(v6.2#6252)