2012-04-08 94 views
0

我正在使用基於java的工具,其中包含用於訪問Web服務的jaxws-rt-2.1.4.jar。我可以以正確的結果成功訪問https web服務,但希望在檢索wsdl和在Fiddler中調用服務時查看https請求和響應。
JVM參數包括以下內容:如何在使用jaxws時查看Fiddler中的https調用

-DproxySet=true -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888 
-Djavax.net.ssl.trustStore=C:\test\xxx.jks -Djavax.net.ssl.trustStorePassword=pw 

密鑰庫包含需要訪問Web服務的證書和說,這工作正常。代理設置指向Fiddler,因此我期望不僅看到工具前端(託管於http://localhost:8080)的http請求+響應,而且響應啓動調用Web服務的作業,而且還看到https請求+響應。

我使用的檢索WSDL和調用服務的代碼是

url = "https://www.eway.com.au/gateway/rebill/test/manageRebill_test.asmx?wsdl" 
Definition definition = WSDLFactory.newInstance().newWSDLReader().readWSDL(url); 
... other code creating the envelopeXML ... 
URL wsdlLocation = new URL(url); 
Source result = 
    Service.create(wsdlLocation, serviceQName).createDispatch(
     portQName, 
     Source.class, 
     Service.Mode.MESSAGE).invoke(new StreamSource(new StringReader(envelopeXML)))); 

當URL是一個HTTP一個像http://www.webservicex.net/periodictable.asmx?wsdl我看到在提琴手的請求+響應。
我的設置中缺少在Fiddler中顯示WSDL檢索和服務調用的https請求+響應的內容?也許它需要額外的或不同的JVM設置? 或者它是證書問題 - 我必須給小提琴手頒發證書並讓小提琴手根據它頒發證書,這是在密鑰庫中使用的,而不是原來的證書?

回答

0

確定這應該是很明顯對我來說也許 - 但隨後又沒有觀衆看到它:-)
我需要有以下JVM PARMS補充說:

-DproxySet=true -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8888 

這樣,抓住小提琴手https請求+響應。