3
當我的Java客戶端向本地Tomcat實例發出SOAP請求時,我無法捕獲本地HTTP通信。使用Fiddler在本地主機上捕獲SOAP消息
我現在的配置是
- Tomcat實例 - 在本地主機上運行:8080
- 本地Java客戶端 - 從Windows CMD線
- 提琴手運行 - 在本地主機上運行:8888
我使用Axis2 wsdl2java
來創建我的客戶端SOAP存根,並在指定WSDL時使用我的機器IP地址(託管在Tomcat)
wsdl2java -uri http://192.168.0.5:8080/axis2/services/Version?wsdl -p sample.axisversion -d adb -s
因此,生成的代碼具有這樣的線貫穿:
public VersionStub(org.apache.axis2.context.ConfigurationContext configurationContext) throws org.apache.axis2.AxisFault {
this(configurationContext,"http://192.168.0.5:8080/axis2/services/Version.VersionHttpSoap12Endpoint/");
}
我的客戶端應用程序使用生成的存根和我使用下面的代碼設置Java代理菲德勒(它得到在實際使用SOAP存根之前調用):
System.getProperties().put("proxySet", "true");
System.getProperties().put("proxyHost", "localhost");
System.getProperties().put("proxyPort", "8888");
...但仍然看不到提琴手中的任何請求或響應流量。少了什麼東西?
您的代碼如何引用該服務?它使用192.168.0.5還是使用127.0.0.1?如果您使用遠程主機名或IP,Fiddler會捕獲它嗎?您可以嘗試以下步驟:http://www.fiddler2.com/fiddler/help/hookup.asp#Q-JavaTraffic – EricLaw
由於wsdl2java工具隨參數192.168.0.5提供,因此它在客戶端存根中使用此地址生成的。 – Jack