java - 我可以在 java axis2 客户端上捕获 https 的明文请求 SOAP 信封吗?

标签 java soap https apache-axis

我有一个联邦政府(即极具安全意识)的 SOAP 服务,我必须连接到该服务才能完成项目。我遇到的问题是我遇到了可怕的

  SEVERE: SOAP header missing
  org.apache.axis2.AxisFault: SOAP header missing
  at  org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:180)

可抛出的堆栈跟踪

我正在使用 wsdl2code 生成客户端 stub 并调用

 GetResponseTypeDef resp = stub.getRequest(requestypdef, headerTypeDef);

headerTypeDef 似乎已正确填充了服务请求的 header 信息。

我想捕获正在发送的原始明文 SOAP xml 请求,但端点使用 https,并且我对该服务的可见性为零。所以wireshark确实不是一个选择。

我在 Linux 上使用以下命令: 轴2 1.5.4 壁垒 1.5.1 wss4j 1.5.10

我非常确定我正在发送 SOAP header ,但我需要证明这一点。该服务几乎使用了 WS-* 的每个子项目,包括安全性、策略、加密和数字签名,因此只有大约 100 个地方可能导致该服务失败。

如有任何帮助,我们将不胜感激。

最佳答案

设置代理服务,如 Charles并将其重定向到您的 HTTPS 端点。这样您就可以在调用被加密之前捕获该调用并打印出 XML 有效负载。附带说明一下,您可能需要提高接受率。

关于java - 我可以在 java axis2 客户端上捕获 https 的明文请求 SOAP 信封吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9283031/

相关文章:

java - Heroku/Play/BoneCp 连接问题

java - HTTP 状态 405 - 此 URL 不支持 HTTP 方法 POST - SOAP

ruby - 你如何处理 Savon 中的嵌套命名空间?

ssl - 我可以在 mean.io 的什么地方设置我的 ssl 证书?

java - 无法从 java 客户端调用 HTTPS 不受信任的 URL

java - 使用 ANT 构建 DMG 文件的跨平台方式?

java - 如何在动态属性 @Value 中注入(inject)参数

java - 使用 Maven 将 Spring 框架应用程序打包到 war

wcf - 有没有办法告诉 WCF 在请求中使用安全性,但在响应中忽略它?

ssl - 使用 libcurl/openssl 下载 https 内容而不解密