簡體   English   中英

在Jersey客戶端請求中未設置Content-Length-Header

[英]Content-Length-Header not set in Jersey Client request

我正在使用Jersey Client訪問web服務,如下所示:
response = r.accept(MediaType.TEXT_PLAIN_TYPE).header("content-length", 0).post(String.class);
其中r是WebResource

但是,Webservice返回411 - 缺少Content-Length。

使用tcpdump,我發現我能夠指定自定義標頭,即.header("myheader", 0)工作正常。

因此,由於某些原因,球衣似乎正在刪除內容長度標題。

有人有什么想法嗎?

我實際上要求對Restful webservice使用空的POST請求。

如果指定空字符串作為post方法的第二個參數,Jersey將創建值為0的Content-Length標頭。

例如response = r.accept(MediaType.TEXT_PLAIN_TYPE).post(String.class, "");

調用的內容長度由Jersey Client計算,不能設置。 Paul Sandoz--該項目的知名提交者 - 回答了類似的問題

問:我認為“Content-Length”標題沒有自動設置。

答: Jersey運行時[...]確定內容的長度。

如果您需要進一步的信息,請解釋您將字符串POST到空白大小的資源時所期望的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM