2012-04-08 2 views
0

Ich verwende ein Java-basiertes Tool, das Jaxws-RT-2.1.4.jar für den Zugriff auf Web-Services enthält. Ich kann erfolgreich auf einen https-Webdienst mit dem korrekten Ergebnis zugreifen, aber ich möchte die https-Anforderung und -Antwort sehen, wenn ich die WSDL abruft und den Dienst in Fiddler aufruft.
JVM Parameter gehören die folgenden:Wie kann ich die HTTPS-Aufrufe in Fiddler anzeigen, wenn Sie jaxws verwenden

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

Der Schlüsselspeicher enthält das Zertifikat für den Zugriff auf den Web-Service benötigt und das funktioniert gut, wie gesagt. Proxy-Einstellungen zeigen auf Fiddler, so dass ich erwartete, nicht nur die HTTP-Anfrage + Antwort für das Tool-Frontend (gehostet auf http://localhost:8080) zu sehen den Job, der den Web-Service aufruft, sondern auch die https Anfragen + Antworten.

Der Code, den ich für das Abrufen der WSDL verwenden und die Service-Aufruf ist

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)))); 

Wenn die URL ein http ich die + Antworten in Fiddler Anfragen sehen Sie eine wie http://www.webservicex.net/periodictable.asmx?wsdl ist.
Was fehlt in meinem Setup, das in Fiddler die https Anfragen + Antworten für WSDL-Abruf und Service-Aufruf zeigen würde? Vielleicht erfordert es eine zusätzliche oder andere JVM-Einstellung? Oder ist es ein Zertifikat-Problem - muss ich Fiddler das Zertifikat geben und Fiddler ein Zertifikat basierend darauf, dass im Keystore anstelle der ursprünglichen verwendet wird?

Antwort

0

OK mir dies sollte offensichtlich gewesen vielleicht - aber dann wieder keiner der Zuschauer sah es :-)
ich die folgenden JVM parms haben Bedarf hinzugefügt:

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

Auf diese Weise Fiddler fängt die https Anfragen + Antworten.

Verwandte Themen