MULE ESB - 错误HTTPS,收到EOFException:错误

时间:2014-01-27 17:27:19

标签: https jboss mule

我在配置了HTTPS连接器的JBoss服务器7.0.1中部署了MULE ESB:

<https:inbound-endpoint address="https://${ws.host}:8443/services" path="services" exchange-    pattern="request-response" connector-ref="httpConnector" responseTimeout="${ws.timeout}">
  <cxf:jaxws-service serviceClass="..." >
  </cxf:jaxws-service>
  <transformer ref="..." />
</https:inbound-endpoint>
<https:connector name="httpConnector">
        <https:tls-key-store path="/tmp/keystore.jks" keyPassword="pass" storePassword="passs"/>
        <!--https:tls-server path="/tmp/trustStore.jks" storePassword="pass"/-->
</https:connector>

客户端正在使用gSoap版本1.3。

调用Web服务时收到错误,这些是JBoss服务器的日志:

20:11:39,498 INFO  [stdout] (httpConnector.receiver.01) Allow unsafe renegotiation: true
20:11:39,499 INFO  [stdout] (httpConnector.receiver.01) Allow legacy hello messages: true
20:11:39,499 INFO  [stdout] (httpConnector.receiver.01) Is initial handshake: true
20:11:39,499 INFO  [stdout] (httpConnector.receiver.01) Is secure renegotiation: false
20:11:39,509 INFO  [stdout] (httpConnector.receiver.02) httpConnector.receiver.02, received EOFException: error
20:11:39,509 INFO  [stdout] (httpConnector.receiver.02) httpConnector.receiver.02, handling exception: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
20:11:39,510 INFO  [stdout] (httpConnector.receiver.02) httpConnector.receiver.02, SEND TLSv1 ALERT:  fatal, description = handshake_failure
20:11:39,510 INFO  [stdout] (httpConnector.receiver.02) httpConnector.receiver.02, WRITE: TLSv1 Alert, length = 2
20:11:39,510 INFO  [stdout] (httpConnector.receiver.02) [Raw write]: length = 7
20:11:39,511 INFO  [stdout] (httpConnector.receiver.02) 0000: 15 03 01 00 02 02 28                               ......(
20:11:39,511 INFO  [stdout] (httpConnector.receiver.02) httpConnector.receiver.02, called closeSocket()
20:11:39,511 INFO  [stdout] (httpConnector.receiver.02) httpConnector.receiver.02, called close()
20:11:39,511 INFO  [stdout] (httpConnector.receiver.02) httpConnector.receiver.02, called closeInternal(true)
20:11:39,511 INFO  [stdout] (httpConnector.receiver.02) httpConnector.receiver.02, called close()
20:11:39,511 INFO  [stdout] (httpConnector.receiver.02) httpConnector.receiver.02, called closeInternal(true)
20:11:39,511 INFO  [stdout] (httpConnector.receiver.02) httpConnector.receiver.02, called close()
20:11:39,511 INFO  [stdout] (httpConnector.receiver.02) httpConnector.receiver.02, called closeInternal(true)
20:11:39,516 ERROR [org.mule.exception.DefaultSystemExceptionStrategy] (httpConnector.receiver.02) Caught exception in Exception Strategy: Remote host closed connection during handshake: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:882) [:1.6]
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1188) [:1.6]
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:818) [:1.6]
    at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75) [:1.6]
    at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:50) [:1.6]
    at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78) [commons-httpclient-3.1-osgi.jar:]
    at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106) [commons-httpclient-3.1-osgi.jar:]
    at org.mule.transport.http.HttpServerConnection.readLine(HttpServerConnection.java:219) [mule-transport-http-3.2.1.jar:]
    at org.mule.transport.http.HttpServerConnection.readRequest(HttpServerConnection.java:185) [mule-transport-http-3.2.1.jar:]
    at org.mule.transport.http.HttpMessageReceiver$HttpWorker.run(HttpMessageReceiver.java:155) [mule-transport-http-3.2.1.jar:]
    at org.mule.work.WorkerContext.run(WorkerContext.java:310) [mule-core-3.2.1.jar:]
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [:1.6.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [:1.6.0_45]
    at java.lang.Thread.run(Thread.java:662) [:1.6.0_45]
Caused by: java.io.EOFException: SSL peer shut down incorrectly
    at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:462) [:1.6]
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:863) [:1.6]
    ... 13 more

gSoap 1.3和JBoss之间是否存在兼容性问题?

提前致谢。

1 个答案:

答案 0 :(得分:0)

确保客户端可以访问相同的证书。

编辑:从path="services"移除http:inbound-endpoint,因为它提供了完整的address属性,因此无效。