Я новичок в MSF4J, и мне нужно написать REST API, который принимает большие XML-данные через POST. я использую
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 не так много документации (⌣_⌣ ”)