Hi
I'm looking into the following issue.
WSDL fragment :
<wsdl:binding name="SimpleServiceSoapBinding" type="tns:SimpleService">
<wsp:Policy>
<wswa:UsingAddressing xmlns:wswa="
http://www.w3.org/2006/05/addressing/wsdl"/>
<wsrmp:RMAssertion xmlns:wsrmp="
http://schemas.xmlsoap.org/ws/2005/02/rm/policy"/>
</wsp:Policy>
</wsdl:binding>
When the client invokes a simple echo() operation, the following is
happening on the wire :
1. WS-RM CreateSequence request is sent and a successful response
containing the sequence id/etc is sent back
2. Actual echo() request is sent with WS-A and WSRM headers included
However the server replies with no WS-A/WS-RM headers and thus a runtime
policy verification fails on the client side.
Note that no Spring is used in this case.
Obviously, the client recognizes that the above policy needs to be applied
and the server initially responds well to a WS-RM only request. It appears
though it is happening due to WS-RM interceptors installed by default on the
server side.
Question is : is it a bug that the server does not apply a policy to the
outbound message (it is probably not even enforcing it on the inbound
message too) in a WSDL-first with no Spring case ? Also, why the client does
recognize the policy requirement but the server does not ?
it's been awhile since I looked into the Ws-Policy code so some initial
feedback will help :-)
thanks, Sergey