2016-01-20 508 views
0

我有一個託管在Weblogic上的Java應用程序,它將REST POST請求發送到託管在同一服務器上運行的SoapUI中的模擬服務。發送POST請求時出現「413滿頭」錯誤

應用程序獲取儘可能通過Spring的RestTemplate類向模擬服務發送請求,然後發生「413 FULL head」異常(org.springframework.web.client.HttpClientErrorException)失敗之前。

我有一個Groovy腳本在SoapUI上運行,它應該記錄請求包含的頭文件。如果我從SoapUI本身向模擬服務發送POST請求,則腳本將成功由腳本打印。當Java應用程序發送(失敗)請求時,不會打印標題。這意味着在腳本執行之前請求失敗。

我不知道我還能確定POST請求包含哪些標頭。

從這裏看,這個問題很多時候已經被報道是使用GET請求的時候。我絕對使用POST來處理這個請求。

的Java:1.7.0_02

春:4.1.7

了SoapUI:5.2.1

的Weblogic:10.3.6.0

感謝您的任何援助。

+0

從SoapUI發送POST時得到良好響應的事實表明,Java應用程序可能不會發送POST,可能是由於某些配置錯誤。也許你可以使用嗅探器來驗證?或者可能設置一個Apache服務器並打開日誌記錄,響應將是404,但訪問日誌將提及方法 –

+0

我很確定POST請求是從Java發送的 - 在代碼中,請求是通過交換機啓動的()方法,它將HTTP方法作爲參數。我已經追蹤了代碼,並且非常肯定我將它設置爲HttpMethod.POST。 我會調查如何攔截呼叫。 – GarlicBread

回答

0

我在Eclipse中使用TCP/IP Monitor來發現「Accept-Charset」HTTP標頭包含大量數據。

這是通過在Spring RestTemplate對象使用的StringHttpMessageConverter上設置writeAcceptCharset屬性來解決的。

此處描述的問題和解決方案如下:https://jira.spring.io/browse/SPR-7316