2014-01-27 36 views
0

我有MULE ESB部署在與HTTPS連接器配置JBoss服務器7.0.1:MULE ESB - 錯誤HTTPS,接收EOFException類:錯誤

<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之間的兼容性問題?

在此先感謝。

+0

爲什麼在JBoss中運行,如果你不使用它的HTTP/HTTPS層? –

+0

我們只使用JBOSS作爲MULE(沒有server.xml文件)只使用Mule配置 – user3241427

+0

但是您將Mule部署爲一個Web應用程序,對吧? –

回答

0

確保客戶端有權訪問相同的證書。

編輯:刪除path="services"http:inbound-endpoint,因爲它是無用的,因爲你提供了一個完整的address屬性。

+0

感謝您的支持客戶端正在使用OpenSSL,並使用以下注釋使用以JKS文件生成的PEM格式的相同證書: [keytool -export -alias mule -keystore keystore.jks -file exported-der.crt]和 [ openssl x509 -in exports-der.crt -out exported-pem.crt -outform pem -inform der] – user3241427

+0

gSoap端的任何錯誤? –

+0

它表示SOAP錯誤代碼30,但我的密碼包含數字和字母 – user3241427