2010-03-26 33 views
16

Tôi muốn ghi lại tất cả yêu cầu/phản hồi của ứng dụng khách axis2. Tôi đã cố gắng tạo một tệp có tên là client-config.wsdd làm người đăng ký trong http://code.google.com/support/bin/answer.py?hl=en&answer=15137 nhưng không thành công (tôi không nhận được tệp nhật ký).Yêu cầu và phản hồi của máy khách đăng nhập trục2

Yêu cầu được thực hiện qua https và tôi không chắc liệu nó có quan trọng hay không. Tôi cố gắng

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

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

không thành công.

+0

không làm việc cho tôi quá. có thể đúng với các phiên bản trước đó (tức là trục v1) – maayank

Trả lời

32

Đối với Axis2-client bên khai thác gỗ cho thông điệp SOAP, chỉ cần sử dụng các đối số JVM sau khi chạy client độc lập của bạn hoặc bao gồm này args VM trong Appln của bạn. bắt đầu kịch bản Server,

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

Chúc mừng, Sankar

+0

Sankar: Tên của người anh hùng của tôi hôm nay. – Kieveli

+0

Để chạy nó trong Eclipse, hãy viết các tham số đó trong cấu hình Gỡ lỗi/Chạy cấu hình trong các đối số VM –

+0

Nếu bạn đã sử dụng loggerj logger: log4j.logger.org.apache.commons.httpclient = debug log4j.logger.httpclient .wire = debug –

0

Tôi thường chỉ ghi nhật ký của thông báo SOAP, được chuyển đến lớp dịch vụ của tôi.

public OMElement myOperation(OMElement request) throws AxisFault { 

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

    .. 

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

    return response 
} 

công nghệ thấp nhưng làm việc cho tôi :-)

+0

Cảm ơn bạn Tôi đang tìm kiếm nhật ký máy khách. –

+0

Như đã đề cập bởi Manuel, điều này chỉ áp dụng cho phía máy chủ – maayank

1

Tôi biết đó là một chút dài dòng, nhưng đây là cách chúng tôi giải quyết nó:

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 = debug -Dorg.apache.commons.logging.simplelog.log.org.apache.commons.httpclient = debug

này đã làm việc

+5

Bản sao của câu trả lời 2 tuổi –

+0

Không hoàn toàn. Nó bao gồm mẫu httpclient.wire, ghi nhật ký dữ liệu dây. – Scott

1

Nếu bạn thêm các dòng dưới đây để log4j của bạn .properties tệp, bạn sẽ không cần phải chuyển bất kỳ thông số VM hoặc JVM nào.

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 
Các vấn đề liên quan