You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Tadayoshi Sato (JIRA)" <ji...@apache.org> on 2014/03/26 06:08:14 UTC

[jira] [Updated] (CXF-5645) wsp:Optional isn't adhered to for WS-RM policy in WSDL

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