我是 MSF4J 的新手,我需要编写一个通过 POST 接受大型 XML 数据的 REST API。我正在使用
request.getMessegeBody()
方法来获取数据。我发现它现在已被弃用,但我找不到它的更新版本,所以我还是决定使用它。
问题是,当我第一次向微服务发送数据时,它并没有得到全部数据。除第一个请求外,所有后续请求都将获得完整的消息正文。
当我尝试通过 ESB 传递请求时,ESB 会接收整个正文,但是当它到达端点时,它将被截断。
我也尝试过从不同的休息客户端发送请求,但第一次它总是得到不完整的消息体
@POST
@Consumes({ "application/xml", "application/json", "text/xml" })
@Path("test/")
public Response getReqNotification(@Context Request request) throws Exception {
Response.ResponseBuilder respBuilder =
Response.status(Response.Status.OK).entity(request);
ByteBuf b = request.getMessageBody();
byte[] bb = new byte[b.readableBytes()];
b.duplicate().readBytes(bb);
System.out.println(new String(bb));
return respBuilder.build();
}
我希望每次发送请求时它都能打印完整的消息(大约 2000 字节长),但是当我第一次运行微服务时我只得到大约 800 字节。
我希望在这里得到帮助。我在其他地方尝试过,但 wso2 没有太多文档(⌣_⌣”)