Мне было интересно, можно ли построить cxf-bc с WS-SecurityPolicy вместо WS-Security. WS-SecurityPolicy кажется более элегантным решением, поскольку все в WSDL. Примеры приветствуются. :)WS-securitypolicy в cxf-bc deploy in servicemix
Ну с помощью Дэвида Я получил CXF-BC для установки и запуска ESB, но я не могу проверить его. Он постоянно возвращается с:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>These policy alternatives can not be satisfied:
{http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}UsernameToken</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
Мой тзд:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://nwec.faa.gov/wxrec/UserAccount/types">
<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/ws-securitypolicy-1.2.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-25" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>bob</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">bobspassword</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
<wsa:Action>http://nwec.faa.gov/wxrec/UserAccount/UserAccountPortType/ApproveDenyAccountRequest</wsa:Action>
</soapenv:Header>
<soapenv:Body>
...
</soapenv:Body>
Вот политика в WSDL:
<wsp:Policy wsu:Id="UserAccountBindingPolicy" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
<wsp:ExactlyOne>
<wsp:All>
<wsaw:UsingAddressing xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" wsp:Optional="true" />
<wsp:Policy >
<sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Always">
<wsp:Policy>
<sp:WssUsernameToken10 />
</wsp:Policy>
</sp:UsernameToken>
</wsp:Policy>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>
Хорошо, посмотрев на JAASTest, я до сих пор не имею ни малейшего понятия о том, как его реализовать. Также не кажется, что JAASTest даже использует wsdl с политикой безопасности ws, определенную в нем, если я не пропущу что-то, и не кажется, что apache уже опубликовал servicemix-cxf-bc-2010.01.xsd , поэтому я не могу это использовать. – Vinh
Пример шины CXF с добавлением внешней политики: http://fisheye6.atlassian.com/browse/servicemix/components/bindings/servicemix-cxf-bc/tags/servicemix-cxf-bc-2010.01/src/test/ Ресурсы/org/apache/servicemix/cxfbc/ws/security/xbean-jaas-policy-bus-context.xml? r = HEAD См. http://cxf.apache.org/docs/ws-securitypolicy.html для других способов приложить политику. Настройте своего потребителя CXF-BC: http://fisheye6.atlassian.com/browse/servicemix/components/bindings/servicemix-cxf-bc/tags/servicemix-cxf-bc-2010.01/src/test/resources/ org/apache/servicemix/cxfbc/ws/security/xbean-jaas.xml? r = HEAD – DavidValeri
Все, что вам нужно, должно быть здесь http://repo2.maven.org/maven2/org/apache/servicemix/servicemix-cxf- bc/2010.01/ – DavidValeri