Announcement Announcement Module
Collapse
No announcement yet.
HttpInvokerProxyFactoryBean and SSL on WL 10.3 Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • HttpInvokerProxyFactoryBean and SSL on WL 10.3

    I'm trying to use HttpInvokerProxyFactoryBean + HttpClient to access a remote service from within a servlet running on Weblogic 10.3. I need to use SSL, and I am trying to use the "container default" SSL configuration (trust and identity from the webserver) when connecting to the remote service.

    - This works fine when using the default ProtocolSocketFactory for HttpClient.
    - This works fine when using a custom ProtocolSocketFactory (backed by the Sun JSSE default socket factory).
    But
    - when I use the "weblogic.security.SSL.SSLSocketFactory" instead of the default JSSE socket factory I get intermittent failures. After about 5 uses of the service (by different servlet handler threads), I start to see failures.

    Q: Has anyone seen something like this?
    Q: Any idea how to diagnose such a problem?
    Q: I dont really know too much about the details of Http 1.1, and honestly I would rather not, but is it possible that the HttpInvokerProxyFactoryBean serializes some java objects that just happen to interfere with "chunking" in Http?

    Code:
    org.springframework.remoting.RemoteAccessException: 
    Cannot access HTTP invoker remote service at 
    [https://server.internal:7002/app/service]; nested exception is 
    
    java.net.SocketException: Software caused connection abort: recv failed
    	at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.convertHttpInvokerAccessException(HttpInvokerClientInterceptor.java:196)
    	at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:157)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
    	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    	at $Proxy86.initialize(Unknown Source)
    	at com.MyServlet.useRemoteService(MyServlet.java:1475)
    	... 33 more
    
    java.net.SocketException: Software caused connection abort: recv failed
            at java.net.SocketInputStream.socketRead0(Native Method)
            at java.net.SocketInputStream.read(SocketInputStream.java:129)
            at weblogic.utils.io.ChunkedInputStream.read(ChunkedInputStream.java:159)
            at java.io.InputStream.read(InputStream.java:89)
            at com.certicom.tls.record.ReadHandler.readFragment(Unknown Source)
                ...
            at com.certicom.io.InputSSLIOStreamWrapper.read(Unknown Source)
            at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
            at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
            at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:77)

  • #2
    SocketException

    Code:
    java.net.SocketException: Software caused connection abort: recv failed
            at java.net.SocketInputStream.socketRead0(Native Method)
            at java.net.SocketInputStream.read(SocketInputStream.java:129)
            at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
            at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
            at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
            at java.io.FilterInputStream.read(FilterInputStream.java:116)
            at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2391)
            at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
            at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
            at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
            at java.io.InputStreamReader.read(InputStreamReader.java:167)
            at java.io.BufferedReader.fill(BufferedReader.java:136)
            at java.io.BufferedReader.readLine(BufferedReader.java:299)
            at java.io.BufferedReader.readLine(BufferedReader.java:362)
            at org.netbeans.modules.web.monitor.server.NotifyUtil$RecordSender.run(NotifyUtil.java:293)
    Me too getting the same kind of exception. If anyone aware of this, please suggest how to remove this..

    Comment


    • #3
      I was getting the same error when connecting to a Tomcat server that had 2-way SSL enabled (clientAuth=true). The solution was to install the signed certificate of the client into the server's trust store.

      Comment

      Working...
      X