Сохранять необработанный XML-запрос / ответ Axis в сеансе (для использования в JSP) - PullRequest
3 голосов
/ 27 апреля 2011

Как, если возможно, я могу получить необработанный XML-запрос / ответ, который вызывается / извлекается Axis в моем приложении?

Я использую WSDL2Java, который включен в Axis, для создания заглушек Java.

РЕДАКТИРОВАТЬ:

В настоящее время у меня есть приложение, которое использует Axis для обработки удаленных вызовов API.

Одним из требований является 'сохранить все запросы / ответы XML от этих вызовов в сеансе, чтобы они были доступны в JSP (для целей отладки).Как я могу добиться этого?

Я пытался написать собственный обработчик, который extends BasicHandler, но в этом обработчике я все еще не могу получить пару HttpServletRequest / HttpServletResponse из MessageContext

Ответы [ 3 ]

14 голосов
/ 30 января 2013

Через некоторое время поиск будет таким простым:

// После вашего _call.invoke (...);

//Request
String request = _call.getMessageContext().getRequestMessage().getSOAPPart().getEnvelope().getBody().toString();

//Response
String response = _call.getMessageContext().getResponseMessage().getSOAPPart().getEnvelope().getBody().toString();

где _call - org.apache.axis.client.Call

Затем вы можете сохранить его в файл, где вы хотите ...

0 голосов
/ 29 апреля 2011

В итоге я использую решение, описанное в этом вопросе

По сути, я использую его, чтобы получить запрос HttpServletRequest, и оттуда я устанавливаю нужный элемент в сеансе.

0 голосов
/ 28 апреля 2011

Почему бы вам не написать обработчик мыла на стороне сервера, завладеть MessageContext, и я считаю, что есть способ получить полезные данные оттуда.Если вы хотите передать его в нисходящий поток, поместите его в локальный поток.Смотрите, например, обработчик здесь

...