我们需要调用一个Web服务,在wsdl和多个技术文档中描述。
网络服务提供商称他们支持OASIS(ws-security,http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf)。但是,在我们从提供商处收到的wsdl中没有提到这一点。
管理层要求我们实施邮件加密和签名。以前,这是使用axis和wsdd文件完成的。
我为Web服务创建了一个jax-ws客户端。现在,我想为它添加ws-security。如果我理解正确,我需要编写一个wsit-client.xml文件。但是,我不确定是否需要在wsdl中引用它。如果可能的话,我不想改变它,所以如果我们得到一个新版本,我们不需要改变它。这可能吗?
此外,我尝试使用netbeans生成wsit-client.xml。我没有获得签名/加密的选项。是因为wsdl中没有提到任何政策吗?我们正在使用Eclipse,因此我只使用netbeans进行快速测试。
答案 0 :(得分:1)
wsit-client.xml
基本上是你的WSDL,其中包含< wsp:Policy>声明,指明如何/如何加密/签署/验证SOAP请求和响应。
您可以在此处查看MCS(共同证书安全性)的示例使用者:
http://java.net/projects/wsit/sources/svn/show/trunk/wsit/samples/ws-security/src/mcs?rev=7090
要回答您的问题,您不必修改原始WSDL。话虽如此,最好将策略规范包含在具体的WSDL中,因为策略是接口契约的重要组成部分,即它必须在消费者和提供者之间匹配才能使通信成功。