2014-03-25 144 views
0

在工作中,我必須實現一個EDI事情。我必須創建一個XML消息,使用證書籤名,使用Base64對其進行編碼,然後將其打包爲XML結構並將其發送到服務器。 要發送消息到肥皂服務我使用HTTPSOAPConnection。我碰到的問題是,我總是得到一個503 service unavailable錯誤。
我認爲沒關係服務沒有啓動,但爲了好奇,我試着用SoapUi來達到目的。發送相同的消息到相同的服務端點我得到一個HTTP 200 Ok,與一個響應消息。
分析這個響應我發現,裏面有一個Base64 encoed xml,就像服務文檔說的那樣。解碼我發現,服務器給我發送了一個錯誤代碼,說服務不可用。
但是怎麼可能呢,用我的java生成的請求我得到一個503和SoapUi我得到一個服務特定的響應,包含服務特定的錯誤代碼爲503? 我唯一能想到的就是,我的要求出了問題。但是,Http 503還有什麼其他原因?我如何分析錯誤(例如比較SoapUi的MimeHeader與我的...)? One的詳細信息,我可以給你的是在錯誤occures塊:在行245開始的HTTPSOAPConnectionHTTP 503服務不可用的原因錯誤

responseCode = httpConnection.getResponseCode(); 
// let HTTP_INTERNAL_ERROR (500) through because it is used for SOAP faults 
if (responseCode == HttpURLConnection.HTTP_INTERNAL_ERROR) { 
    isFailure = true; 
} 
//else if (responseCode != HttpURLConnection.HTTP_OK) 
//else if (!(responseCode >= HttpURLConnection.HTTP_OK && responseCode < 207)) 
else if ((responseCode/100) != 2) { 
    log.log(Level.SEVERE, 
    "SAAJ0008.p2p.bad.response", 
    new String[] {httpConnection.getResponseMessage()}); 
    throw new SOAPExceptionImpl(
     "Bad response: (" 
     + responseCode 
     + httpConnection.getResponseMessage() 
    ); 
} 

我得到這個「壞響應」,具有503應答和無應答消息。 我希望這些信息足以至少得到一些猜測。

回答

0

看來,就像我得到這個,導致錯誤的端點URL。我用作端點的URL實際上是WSDL的URL。端點本身是另一個端點。 我stil沒有得到它的工作,但那是因爲一些SSL,證書,密鑰庫等東西,我必須先學習:P並且它似乎很複雜...

相關問題