2010-03-26 87 views
16

我想記錄由axis2客戶端發出的所有請求/響應。 我試圖創建一個名爲client-config.wsdd的文件,作爲http://code.google.com/support/bin/answer.py?hl=en&answer=15137中的描述,但沒有成功(我沒有獲得日誌文件)。記錄axis2客戶端請求和響應

請求通過https進行,我不確定它是否重要。我試圖

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

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

沒有成功。

+0

不爲我工作了。 可能是早期版本(即軸v1) – maayank 2010-04-13 07:39:48

回答

32

對於Axis2中,客戶端登錄的SOAP消息,只需要使用以下JVM參數,同時運行的獨立客戶端或者包含在您申請該VM ARGS。服務器的啓動腳本,

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

乾杯, 桑卡爾

+0

Sankar:今天我的英雄的名字。 – Kieveli 2013-09-25 12:08:05

+0

要在Eclipse中運行它,將這些參數寫入VM參數中的Debug配置/運行配置 – 2015-07-13 11:04:15

+0

如果您已經在使用log4j記錄器: log4j.logger.org.apache.commons.httpclient = debug log4j.logger.httpclient .wire = debug – 2015-11-30 14:13:27

0

我通常只記錄SOAP消息的正文,傳遞給我的服務類。

public OMElement myOperation(OMElement request) throws AxisFault { 

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

    .. 

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

    return response 
} 

低技術,但對我的作品:-)

+0

謝謝你我正在尋找客戶端日誌記錄。 – 2010-04-01 01:21:51

+0

正如Manuel所說,這僅適用於服務器端 – maayank 2010-04-12 14:54:46

1

我知道這是一個有點冗長,但這裏是我們如何解決它:

SOAPFactory factory = OMAbstractFactory.getSOAP12Factory(); 
OMElement requestElement = request.getOMElement(RegisterIntegrationAgent.MY_QNAME, factory); 
LOGGER.debug(requestElement); 
0

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

這個工作

+5

2歲答案的重複 – 2013-11-01 14:59:58

+0

不完全。它包含了httpclient.wire模式,它記錄了有線數據。 – Scott 2017-07-28 19:19:30

1

如果下面的行添加到您的log4j .properties文件,您將不需要傳遞任何VM或JVM參數。

log4j.logger.httpclient.wire.content = DEBUG,Axis3LogFile

#Axis2 
log4j.appender.Axis2LogFile=org.apache.log4j.RollingFileAppender 
log4j.appender.Axis2LogFile.File=${catalina.base}/logs/Axis2-client.log 
log4j.appender.Axis3LogFile.layout=org.apache.log4j.PatternLayout 
log4j.appender.Axis3LogFile.layout.ConversionPattern=%d{ISO8601} [%X{UUID}] %5p %t %c{1} - %m%n 
相關問題