Регистрация необработанного XML-запроса / ответа SOAP с использованием JAX-RPC - PullRequest
0 голосов
/ 15 декабря 2011

Я использую JAX-RPC и хотел узнать, есть ли способ заставить JAX-RPC напечатать необработанный запрос / ответ SOAP для целей отладки.

Я видел, что JAX-RPC использует log4j, но не видел, какой регистратор мне следует включить с помощью DEBUG, чтобы просмотреть сообщение перед его отправкой.

Ответы [ 2 ]

0 голосов
/ 29 сентября 2015

Если вы используете Apache Axis, вот конфигурация log4J, которую вы можете использовать:

<appender name="wsAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="${catalina.base}/logs/MY_APP-ws.log" />
    <param name="Append" value="true" />
    <param name="MaxFileSize" value="20MB" />
    <param name="MaxBackupIndex" value="10" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d %m%n" />
    </layout>
      <filter class="org.apache.log4j.varia.StringMatchFilter">
              <param name="StringToMatch" value="MY_SPECIFIC_WSProcessRequest" />
              <param name="AcceptOnMatch" value="true" />
      </filter>
    <filter class="org.apache.log4j.varia.DenyAllFilter"/>
</appender>

<logger name="org.apache.axis.transport.http.HTTPSender" additivity="false">
    <level value="DEBUG" />
    <appender-ref ref="wsAppender"/>
</logger>

Измените MY_SPECIFIC_WSProcessRequest для конкретного значения, соответствующего запросу XML, который вы хотите зарегистрировать.

0 голосов
/ 18 декабря 2011

Я бы предложил вам внедрить Handler, который будет иметь метод handleRequest и handleResponse ( doc ), который вы можете переопределить для манипулирования вашим запросом / ответом ( документация *)1007 * о том, как использовать обработчики).

...