2017-06-05 139 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)解决了这个问题