如何从Tomcat Java应用程序捕获SOAP消息到外部服务器?
我有一个Web应用程序,它在Tomcat6中运行,并通过HTTPS将SOAP消息发送到某个外部系统。
我想拦截这些消息。
为了做到这一点,我在工具 – >提琴手选项对话框中启用了HTTPS捕获。
在我重新启动Fiddler后,我可以看到对多个主机(如Google,Evernote)的HTTPS请求,但不会看到我的Java应用程序与之对话的外部系统。
然后,我将JVM选项-Dhtttps.proxyHost=ipv4.fiddler -Dhttps.proxyPort=80
到我的启动配置并重新启动应用程序。 同样,Fiddler没有捕获任何SOAP请求。
我可以做些什么来查看SOAP消息(使用Fiddler或其他工具)?
更新1(22.10.2013 12:35 MSK):当我将JVM参数更改为-Dhttps.proxyHost=ipv4.fiddler -Dhttps.proxyPort=80 -DproxySet=true -DproxyHost=ipv4.fiddler -DproxyPort=80
我得到了exceptioncom.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.UnknownHostException: ipv4.fiddler
发送请求时的com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.UnknownHostException: ipv4.fiddler
。
正确的JVM参数是: -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8888 -DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888
。