【发布时间】:2012-11-30 03:29:11
【问题描述】:
我们需要将 SOAP 消息发送到 Web 服务。这是一个有点新的领域,所以我们有点困惑......即使在搜索和阅读该主题时也是如此。以下是我们所知道/所做的:
1) 我们必须通过使用 Base64 中的数字证书进行身份验证(获得颁发 CSR - 证书签名请求)。
2) SOAP 消息必须包含一个安全标头 (wss:Security xmlns:wss="http://schemas.xmlsoap.org/ws/2002/12/secext") 和一个身体。
3) WSDL 文件不包含 HEADER 部分,但我们有标题“字段结构”
4) 我们决定使用 Axis2/xmlbeans,并使用https://axis.apache.org/axis2/java/core/tools/eclipse/wsdl2java-plugin.html 创建了 JAVA 类
5) 我们可以使用提供的同步/异步寄存器存根方法轻松创建存根并发送 WSDL 主体元素(我假设 Axis2 将生成正确的 SOAP 消息)
问题
1) 我们如何将 WS-Security(?) HEADER 添加到 SOAP 消息中。我们是否必须操作 AXIS2 生成的代码?
2) 我们如何使用数字证书进行身份验证?
谢谢
【问题讨论】:
-
好的,因为您对技术的使用没有限制。也许您应该选择 CXF - cxf.apache.org/docs/ws-security.html,它可以轻松支持 WS-Security。如果您仍想使用 Axis2,您可以尝试 Apache Rampart axis.apache.org/axis2/java/rampart/samples.html
-
我完全放弃了 AXIS2...巨大的依赖列表...绝对混乱,复杂。讨厌这种经历。将我的实现更改为 JAX...
-
是的。我对 Axis2 的体验也很糟糕。
标签: soap wsdl certificate axis2 soapheader