[ https://issues.apache.org/jira/browse/CXF-5645?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alessio Soldano updated CXF-5645: --------------------------------- Fix Version/s: 2.6.14 2.7.11 3.0.0 > 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 > Fix For: 3.0.0, 2.7.11, 2.6.14 > > 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)