[ 
https://issues.apache.org/jira/browse/CXF-5645?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tadayoshi Sato updated CXF-5645:
--------------------------------

    Attachment: ws-rm.zip

Attached a reproducer ({{ws-rm.zip}}).

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

Reply via email to