File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Web Services and the fly likes HTTP(S) Timeout while invoking WebService over HTTPS. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Web Services
Bookmark "HTTP(S) Timeout while invoking WebService over HTTPS." Watch "HTTP(S) Timeout while invoking WebService over HTTPS." New topic
Author

HTTP(S) Timeout while invoking WebService over HTTPS.

Tasja Mango
Greenhorn

Joined: Mar 03, 2004
Posts: 8
Hello,
I have some stress with my webservice client implementation.
I do the following (I can post source code if needed):
- As usual:
System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
- Install my TrustManager
- Install my DefaultHostnameVerifier
- Register a custom type
- Make a javax.xml.rpc.Call to access a webservice
My observations:
The code works well when using an HTTP URL, just changing the target URL to HTTPS causes the problem.
The HTTPS web service (on server) works well seeing a HTTPS client using the weblogic SSL implementation can easily connect.
When I use a simple and direct "Open HttpsURLConnection on URL("https://xxx.service?WSDL"); print-out-all-that's-coming-in", it works well. I think my SSL access is made correctly.
The client does not complain about not-installed SSL things, all certificates are accepted, etc. No problem at this part.
System.setProperty("javax.net.debug", "all") is set, but i dont see anything of interrest.
I use the packages contained in 'java_xml_pack-summer-02_01' of SUN (jaxm-1.1_01, jaxp-1.2_01,jaxr-1.0_02 etc and the jsse 1.0.3). No weblogic SSL stuff used.
The server is weblogic 7.
Calling
call.setTargetEndpointAddress("http://arakis:7001/traces_ws/searchCertificate");
works well while
call.setTargetEndpointAddress("https://arakis:7002/traces_ws/searchCertificate");
causes (after 2 minutes):
HTTP transport error: java.net.SocketException: Unexpected end of file from server
at com.sun.xml.rpc.client.http.HttpClientTransport.invoke(HttpClientTransport.java:189)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:73)
at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:54)
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:279)
at SSLSOAPClient.main(SSLSOAPClient.java:264)
CAUSE:
java.net.SocketException: Unexpected end of file from server
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:699)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:604)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:697)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:604)
at com.sun.xml.rpc.client.http.handler.HttpURLConnection.getInputStream(HttpURLConnection.java:543)
at com.sun.xml.rpc.client.http.handler.HttpURLConnection.getResponseCode(HttpURLConnection.java:920)
at com.sun.xml.rpc.client.http.HttpClientTransport.invoke(HttpClientTransport.java:123)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:73)
at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:54)
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:279)
at SSLSOAPClient.main(SSLSOAPClient.java:264)
Exception in thread "main"
What I note is that the call is using a HttpURLConnection object and NOT a HttpsURLConnection object (so problems are 'normal' i guess), but I dont have any clue what I have to do to instruct the client to use HTTPS other than specifying HTTPS in the target.
Hope someone has an idea
Tasha
Tasja Mango
Greenhorn

Joined: Mar 03, 2004
Posts: 8
FYI, problem solved by updating to JDK 1.4 ... yeah!
Balaji Loganathan
author and deputy
Bartender

Joined: Jul 13, 2001
Posts: 3150
Natasha!.. Welcome to Javaranch
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: HTTP(S) Timeout while invoking WebService over HTTPS.
 
Similar Threads
Error while Calling createService in DII Client
unexpected encoding style: jax rpc dii error
deserialization error: XML reader error: unexpected character content: "<?xml version='1.0' ?>
dii client returning custom types
javax.xml.soap.SOAPException: Unable to internalize message