File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

HTTP(S) Timeout while invoking WebService over HTTPS.

 
Tasja Mango
Greenhorn
Posts: 8
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 8
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
FYI, problem solved by updating to JDK 1.4 ... yeah!
 
Balaji Loganathan
author and deputy
Bartender
Posts: 3150
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Natasha!.. Welcome to Javaranch
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic