我有一个关于在wso2中使用ws security注册现有Web服务的问题。
此图像代表我拥有的和我需要的东西。
我使用客户端调用原始服务,一切正常。 我使用现有的WSDL创建代理服务(Pass Through Proxy),当我使用相同的客户端调用服务时(我在客户端更改wsdl和end point),响应为:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header></env:Header>
<env:Body>
<env:Fault xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<faultcode>wsse:InvalidSecurity</faultcode>
<faultstring>Missing <wsse:Security> in SOAP Header</faultstring>
<faultactor></faultactor>
</env:Fault>
</env:Body>
</env:Envelope>
我需要为此方案实施任何策略或进行其他配置????
我使用的是wso2carbon(wso2esb-4.8.1)。
三江源
答案 0 :(得分:0)
如果您需要保护代理服务,则必须通过向代理服务添加策略来配置安全性。这样,连接到代理服务的客户端必须具有策略文件中定义的安全头。请参阅此documentation。
如果需要通过代理服务将不安全的客户端连接到安全的后端,则必须通过提供后端定义的策略文件来保护该代理服务的端点。这样,客户端将不会在请求中发送任何安全标头,但ESB将在请求发送到后端时添加相应的标头。请参阅this
的QOS部分