2017-06-05 141 views
0

我正在嘗試使用Jersey來構建Java服務器,該服務器接受帶有二進制數據的POST請求。Jersey:從發佈請求中獲取二進制數據

下面是一個簡單的請求,應該接受:在第一

@Path("/myServer") 
class MyServer { 

    @POST 
    @Path("/processMyData") 
    @Consumes(MediaType.APPLICATION_OCTET_STREAM) 
    String processMyData(byte[] payload) { 
     return "Sanity check string"; 
    } 
} 

當我運行curl命令(見上文):

curl -XPOST --data-binary @/path/to/some/file "localhost:<port>/myServer/processMyData" 

我實現的東西,現在不工作時間,我得到錯誤:

curl: (56) Recv failure: Connection reset by peer 

然後,當我打電話時,捲曲不打印任何東西它再次,並退出狀態0,而服務器忽略了一切。

我在做什麼錯?


注意:當我從curl命令刪除--data-binary @/path/to/some/file子句,該請求被接受在服務器上。我如何接受澤西島的二進制數據?

回答

0

回答自己...

這是非常簡單的,去除@Consumes(MediaType.APPLICATION_OCTET_STREAM)解決了這個問題