2016-09-14 4 views
2

Я пытаюсь написать перехватчик cxf, который пересылает все входящие запросы из моего приложения в другое приложение. Однако для запросов POST я не могу получить тело запроса.Получить тело запроса Http из сообщения cxf

код я использую выглядит следующим образом:

String body = message.getContent(String.class); 

Однако тело приходит в нуль. Я просмотрел код cxf &, похоже, вам нужно указать точный класс (Ex: ArrayList), чтобы получить тело. Мое приложение имеет несколько таких классов сообщений. Я хотел знать, есть ли способ, с помощью которого я могу избежать написания нескольких проверок для каждого из моих POJO-классов & сделать это в одном if.

+1

Должен ли message.getContent (InputStream.class) использовать CXF IOUtils для чтения в String. См. Http://www.javatips.net/blog/cxf-interceptor-example –

ответ

2

Вы могли бы назвать message.getContent (InputStream.class) и использовать CXF IOUtils для чтения в String. Пожалуйста, обратитесь к javatips.net/blog/cxf-interceptor-example для получения более подробной информации.

+1

Наиболее важной частью кода является Phase.RECEIVE, так как она гарантирует, что тело присутствует в InputStream –

0

попробовать:

XMLStreamReader body = message.getContent(XMLStreamReader.class); 
Смежные вопросы