Tôi biết một chủ đề cũ nhưng có thể hữu ích cho những người đang tìm kiếm câu trả lời.
Đối với ghi nhật ký phía máy chủ AXIS-1, hãy cập nhật server-config.wsdd
như dưới đây. server-config.wsdd
là dưới WEB-INF
thư mục của tệp chiến tranh của bạn.
Trình xử lý mới cho nhật ký. Tên tệp cùng với đường dẫn có thể định cấu hình được.
<handler name="log" type="java:org.apache.axis.handlers.LogHandler">
<parameter name="LogHandler.fileName" value="/tmp/req-res-axis.log" />
</handler>
Bạn cũng có thể sử dụng tham số LogHandler.writeToConsole
với giá trị như "true"
để đăng nhập vào giao diện điều khiển đăng nhập của bạn.
Sau đó cập nhật phần <globalConfiguration>
có
<requestFlow>
<handler type="log"/>
</requestFlow>
<responseFlow>
<handler type="log"/>
</responseFlow>
Nếu requestFlow
và responseFlow
chứa bộ xử lý khác, đưa các bản ghi như xử lý đầu tiên.
Điều này chỉ nên được sử dụng cho mục đích gỡ lỗi không cho sản xuất. Kể từ khi đăng nhập là ngây thơ và làm các hoạt động ghi bình thường trên tập tin mà không có bất kỳ bộ đệm. Thứ hai, tệp nhật ký sẽ phát triển thành GB vì không có cơ chế di chuột qua.
Đối với ghi nhật ký phía máy khách AXIS-1, hãy cập nhật client-config.wsdd
như dưới đây. Các client-config.wsdd
nên đi vào classpath
của bạn trực tiếp dưới một thư mục gốc được cấu hình trong classpath
không có trong bất kỳ thư mục con nào. Vị trí tốt nhất là cùng một thư mục có tệp log4j.xml
hoặc log4j.properties
của bạn (Cảm ơn #MukeshKoshyM đăng ở trên).
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<handler name="log" type="java:org.apache.axis.handlers.LogHandler" >
<parameter name="LogHandler.fileName" value="/tmp/axis_req_res.log"/>
</handler>
<globalConfiguration>
<requestFlow>
<handler type="log" />
</requestFlow>
<responseFlow>
<handler type="log" />
</responseFlow>
</globalConfiguration>
<transport name="http"
pivot="java:org.apache.axis.transport.http.HTTPSender" />
</deployment>
Cùng một vấn đề được đề cập cho ghi nhật ký phía máy chủ cũng được áp dụng cho phía máy khách.
Để sản xuất, hãy viết trình xử lý nhật ký của riêng bạn bằng cách mở rộng org.apache.axis.handlers.BasicHandler
và định cấu hình tệp lớp trong trình xử lý. Vui lòng xem câu trả lời ở trên từ #raspayu để định cấu hình của riêng bạn. Để đăng nhập các lỗi, hãy ghi đè phương thức public void onFault(MessageContext msgContext)
trong Trình xử lý của bạn.
Tôi thấy bài đăng của bạn rất hữu ích. Tôi đang gặp khó khăn trong việc nhận phản hồi XML. Tôi có thể nhận được yêu cầu nhưng phản ứng SOAP không nhận được, phương thức invact infact chỉ gọi ở giai đoạn yêu cầu. Tôi đã làm tất cả cấu hình được đề xuất.Ngoài ra, khi tôi thêm các mục trong cấu hình chung cho yêu cầu và phản hồi thì chỉ tôi nhận được cả yêu cầu và phản hồi nhưng bên trong thẻ vận chuyển, tôi chỉ nhận được yêu cầu và không có phản hồi. – Jayesh
Tôi đang sử dụng TestNG và Selenium. Tôi nên thêm người xử lý ở đâu? Trong tệp pom.xml hoặc TestNG.xml? – R11G
Tôi thấy câu trả lời này rất hữu ích nhưng với điều này tôi không thể đăng nhập soapfault (ngoại lệ). Xin vui lòng đề nghị một cách để làm như vậy.Tôi có lỗiFlow tag nhưng nó không hoạt động –