Hi Claus,

I solved the problem. First approach was to leverage wss4jOutInterceptor. I
was able to generate WS-UsernameToken, WS-Timestamp and WS-Addressing in
request, but unfortunatelly in wrong order
(Timestamp->UsernameToken->Addressing). I wasn't able to change the element
order, thus had to find another solution.

Solution is rather simple - to create a policy file and insert policies
there and apply policy in cxfEndpoint--features.

<?xml version="1.0" encoding="UTF-8" ?>
<wsp:Policy wsu:Id="UsernameToken Timestamp" xmlns:wsu=
    
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
      xmlns:wsp="http://www.w3.org/ns/ws-policy";>
    <wsp:ExactlyOne>
      <wsp:All>
                <sp:TransportBinding
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
           <wsp:Policy>
                                <sp:IncludeTimestamp/>
           </wsp:Policy>
        </sp:TransportBinding>
        <sp:SupportingTokens
xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702";>
          <wsp:Policy>
            <sp:UsernameToken
sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient";
>
                <wsp:Policy/>
            </sp:UsernameToken>
          </wsp:Policy>
        </sp:SupportingTokens>
      </wsp:All>
    </wsp:ExactlyOne>
</wsp:Policy>


<cxfEndpoint>
....
<features>
        <wsa:addressing allowDuplicates="false"
xmlns:wsa="http://cxf.apache.org/ws/addressing"; />
        <policies xmlns="http://cxf.apache.org/policy";>
                <PolicyReference xmlns="http://www.w3.org/ns/ws-policy";
URI="etc/org.talend.esb.job.token.ts.policy"/>
        </policies>
</features>
....
</cxfEndpoint>



--
View this message in context: 
http://camel.465427.n5.nabble.com/WS-SecurityPolicy-and-WS-Timestamp-tp5790373p5790550.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to