Журнал запросов и ответов клиентов оси 2

Я хотел бы регистрировать все запросы/ответы, сделанные клиентом оси 2. Я попытался создать файл с именем client-config.wsdd в качестве описания в http://code.google.com/support/bin/answer.py?hl=ru&answer=15137, но безуспешно (я не получаю файл журнала).

Запросы выполняются через https, и я не уверен, имеет ли это значение. Я старался

<transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/>

а также

<transport name="https" pivot="java:org.apache.axis.transport.http.HTTPSender"/>

безуспешно.


person Manuel Darveau    schedule 26.03.2010    source источник
comment
у меня тоже не работает. вероятно, это было верно для более ранних версий (т.е. ось v1)   -  person maayank    schedule 13.04.2010
comment
developervisits.wordpress.com/2017 /20.06.   -  person Rajeev    schedule 16.09.2018


Ответы (5)


Для ведения журнала на стороне клиента Axis2 для сообщений SOAP просто используйте следующие аргументы JVM при запуске автономного клиента или включите эти аргументы VM в файл Appln. Скрипт запуска сервера,

JAVA_OPTS=-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog -Dorg.apache.commons.logging.simplelog.showdatetime=true -Dorg.apache.commons.logging.simplelog.log.httpclient.wire=debug -Dorg.apache.commons.logging.simplelog.log.org.apache.commons.httpclient=debug

C:\java %JAVA_OPTS% YourClientAppln.java

С уважением, Санкар

person Sankar K S    schedule 13.06.2010
comment
Санкар: Имя моего сегодняшнего героя. - person Kieveli; 25.09.2013
comment
Чтобы запустить его в Eclipse, напишите эти параметры в конфигурациях отладки/конфигурациях запуска в аргументах виртуальной машины. - person Gerd Castan; 13.07.2015
comment
Если вы уже используете регистратор log4j: log4j.logger.org.apache.commons.httpclient=debug log4j.logger.httpclient.wire=debug - person Mirco Attocchi; 30.11.2015

Если вы добавите приведенные ниже строки в файл log4j.properties, вам не нужно будет передавать какие-либо параметры виртуальной машины или JVM.

#Axis2
log4j.appender.AxisLogFile=org.apache.log4j.RollingFileAppender
log4j.appender.AxisLogFile.File=${catalina.base}/logs/Axis-client.log
log4j.appender.AxisLogFile.layout=org.apache.log4j.PatternLayout
log4j.appender.AxisLogFile.layout.ConversionPattern=%d{ISO8601} [%X{UUID}] %5p %t %c{1} - %m%n
log4j.logger.httpclient.wire=DEBUG,AxisLogFile
person Abdul Gafoor    schedule 29.11.2016

Я знаю, что это немного многословно, но вот как мы это решили:

SOAPFactory factory = OMAbstractFactory.getSOAP12Factory();
OMElement requestElement = request.getOMElement(RegisterIntegrationAgent.MY_QNAME, factory);
LOGGER.debug(requestElement);
person Quartz    schedule 17.11.2010

-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog -Dorg.apache.commons.logging.simplelog.showdatetime=true -Dorg.apache.commons.logging.simplelog.log.httpclient .wire=debug -Dorg.apache.commons.logging.simplelog.log.org.apache.commons.httpclient=debug

Это сработало

person Buminda    schedule 01.11.2013
comment
Дубликат 2-летнего ответа - person Manuel Darveau; 01.11.2013
comment
Не совсем. Он включает в себя шаблон httpclient.wire, который регистрирует данные проводов. - person Scott; 28.07.2017
comment
@Scott: шаблон, о котором вы говорите, включен в ответ 2-летней (сейчас 8-летней) давности. - person zb226; 15.01.2019

Обычно я просто регистрирую тело SOAP-сообщения, передаваемое моему классу обслуживания.

public OMElement myOperation(OMElement request) throws AxisFault {

    log.debug("Request: {}", request);

    ..

    log.debug("Response: {}", response);

    return response
}

Низкая технология, но работает для меня :-)

person Mark O'Connor    schedule 30.03.2010
comment
Спасибо, я ищу журнал клиента. - person Manuel Darveau; 01.04.2010
comment
Как упоминал Мануэль, это применимо только для серверной части. - person maayank; 12.04.2010