2012-11-04 91 views
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"); 

...但仍然看不到提琴手中的任何請求或響應流量。少了什麼東西?

+0

您的代碼如何引用該服務?它使用192.168.0.5還是使用127.0.0.1?如果您使用遠程主機名或IP,Fiddler會捕獲它嗎?您可以嘗試以下步驟:http://www.fiddler2.com/fiddler/help/hookup.asp#Q-JavaTraffic – EricLaw

+0

由於wsdl2java工具隨參數192.168.0.5提供,因此它在客戶端存根中使用此地址生成的。 – Jack

回答

相關問題