I am using a java-based tool that includes jaxws-rt-2.1.4.jar for accessing web services. I can access an https web service successfully with correct result but I wish to see the https request and response when retrieving the wsdl and calling the service in Fiddler.
JVM parameters include the following:
-DproxySet=true -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888
-Djavax.net.ssl.trustStore=C:\test\xxx.jks -Djavax.net.ssl.trustStorePassword=pw
The keystore contains the certificate needed for accessing the web service and this works fine as said. Proxy settings point at Fiddler so I expected to see not only the http request+response for the tool frontend (hosted on http://localhost:8080) initating the job that calls the web service, but also the https requests+responses.
The code I use for retrieving the WSDL and calling the service is
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))));
When the url is an http one like http://www.webservicex.net/periodictable.asmx?wsdl I do see the requests+responses in Fiddler.
What is missing in my setup that would show in Fiddler the https requests+responses for WSDL retrieval and service call? Maybe it requires an additional or different JVM setting?
Or is it a certificate issue – do I have to give Fiddler the certificate and have Fiddler issue a certificate based on it, that is used in the keystore instead of the original one?
OK this should have been obvious to me maybe – but then again none of the audience saw it 🙂
I needed to have the following JVM parms added:
This way, Fiddler catches the https requests+responses.