我在這方面尋找解決方案,但它們都不適用於我的案例。所以在這裏: 我有一個應用程序需要對第三方域進行服務調用。我正在使用球衣客戶端進行此服務調用。撥打此電話的代碼是獲取java.net.ConnectException:連接被拒絕
ClientResponse resp = resourceWithParams.
header("Authorization", getAccessKeyId() + ":" +
hmacSha1.toUpperCase()).
post(ClientResponse.class,"");
其中resourceWithParams
是澤西網絡資源。請注意,即使它是POST
,Web服務期望查詢字符串和空主體。這可能是有問題的設計,但這是我們必須合作的。
此設置在我的本地機器以及我們的preprod服務器上工作得很好。然而在我們的生產服務器它給出了一個例外:
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused
有一對夫婦低於點可能在指着我在正確的方向會有所幫助:
1)我們得到當有效響應我們在prod服務器命令行上使用curl
向Web服務發送請求,因此似乎沒有防火牆問題。只有當我們通過Web應用程序嘗試它時,即通過使用澤西客戶端的Java代碼纔會發生這種情況。
2)沒有設置督促服務器
3)上的代理作品從本地主機細。
4)其餘的web服務使用https和正確的證書安裝在我們的服務器上,事實證明,在prod上的web服務的工作正常。
關於這個問題可能是什麼以及我們應該從哪裏開始尋找的任何想法?
編輯:
如上所述,我們使用https連接到web服務。如果我們使用http,它似乎工作。
HTTPS通常運行在與HTTP不同的端口上,即443而不是80.當您使用curl測試連接時,是否使用https? – Joni