2012-12-06 72 views
0

我試圖連接到需要客戶端證書的WCF服務器。我已經將本地客戶端證書導入到JKS文件中,並使用-Djavax.net.ssl ***選項將證書位置提供給JAXWS客戶端。 SSL調試在最終獲得Connection refused異常之前打印下面的信息。顯然握手似乎成功,但接着調用closeInternal(true),然後是異常。任何線索/想法都非常感謝。提前致謝。SSL握手後拒絕連接

... no IV used for this cipher 
main, WRITE: TLSv1 Change Cipher Spec, length = 17 
*** Finished 
verify_data: { 68, 26, 22, 198, 55, 196, 10, 167, 6, 30, 206, 143 } 
*** 
main, WRITE: TLSv1 Handshake, length = 32 
main, READ: TLSv1 Change Cipher Spec, length = 17 
main, READ: TLSv1 Handshake, length = 32 
*** Finished 
verify_data: { 233, 31, 138, 146, 138, 210, 137, 249, 81, 126, 169, 166 } 
*** 
%% Cached client session: [Session-3, SSL_RSA_WITH_RC4_128_MD5] 
main, READ: TLSv1 Application Data, length = 469 
main, called close() 
main, called closeInternal(true) 
main, SEND TLSv1 ALERT: warning, description = close_notify 
main, WRITE: TLSv1 Alert, length = 18 
Exception in thread "main" com.sun.xml.internal.ws.wsdl.parser.InaccessibleWSDLException: 2 counts of InaccessibleWSDLException. 

java.net.ConnectException: Connection refused: connect 
java.net.ConnectException: Connection refused: connect 

    at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:161) 
    at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:133) 
    at com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:254) 
    at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:217) 
    at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:165) 
    at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:93) 
    at javax.xml.ws.Service.<init>(Service.java:56) 
    at com.acs.echo.gen.EchoService.<init>(EchoService.java:46) 
    at com.acs.echo.client.EchoClient.invokeWebService(EchoClient.java:43) 
    at com.acs.echo.client.EchoClient.main(EchoClient.java:17) 

回答

0

到服務器的SSL握手和TCP連接成功,但WSDL的檢索失敗。它似乎來自一個非SSL主機,它給你'連接被拒絕',這意味着沒有任何東西在WSDL RL中指定的端口被監聽,或者干涉防火牆已經否決了連接嘗試。

+0

是的,你說得對。我的請求正在被服務器重寫,轉發給第三方Netegrity,他們完全重寫了我無法訪問的請求URL,因爲我試圖通過代理/ IP表配置進行連接。我請求服務器人員不要重寫整個URL,而是隻更改URL的路徑。還有其他解決方案嗎?我們嘗試過使用SOCKS代理,但不幸的是,這個Web服務客戶端是大型Web應用程序的一部分,我們不能使用-DsocksHostProxy選項,因爲這會在全局應用程序級別產生影響。 – spayasam