Axis:记录 SOAP http 请求和响应
我正在与 Axis 合作构建 SOAP 客户端。我想在某处打印完整的http请求和响应。我设法创建了打印 SOAP 信封的处理程序。我怎样才能扩展它来打印完整的http?
public class CustomMessageHandler extends GenericHandler {
HandlerInfo hi;
public void init(HandlerInfo info) {
hi = info;
System.out.println("CustomMessageHandler initialized");
}
public QName[] getHeaders() {
return hi.getHeaders();
}
public boolean handleRequest(MessageContext context) {
try {
SOAPMessageContext smc = (SOAPMessageContext) context;
SOAPMessage msg = smc.getMessage();
System.out.println("request:");
msg.writeTo(System.out);
System.out.println("");
} catch (Exception ex) {
ex.printStackTrace();
}
return true;
}
public boolean handleResponse(MessageContext context) {
try {
SOAPMessageContext smc = (SOAPMessageContext) context;
SOAPMessage msg = smc.getMessage();
System.out.println("response:");
msg.writeTo(System.out);
System.out.println("");
} catch (Exception ex) {
ex.printStackTrace();
}
return true;
}
}
I'm working with Axis to build an SOAP client. I'd like to print somewhere complete http request and response. I managed to create handler, which prints SOAP envelopes. How can I extend it to print complete http?
public class CustomMessageHandler extends GenericHandler {
HandlerInfo hi;
public void init(HandlerInfo info) {
hi = info;
System.out.println("CustomMessageHandler initialized");
}
public QName[] getHeaders() {
return hi.getHeaders();
}
public boolean handleRequest(MessageContext context) {
try {
SOAPMessageContext smc = (SOAPMessageContext) context;
SOAPMessage msg = smc.getMessage();
System.out.println("request:");
msg.writeTo(System.out);
System.out.println("");
} catch (Exception ex) {
ex.printStackTrace();
}
return true;
}
public boolean handleResponse(MessageContext context) {
try {
SOAPMessageContext smc = (SOAPMessageContext) context;
SOAPMessage msg = smc.getMessage();
System.out.println("response:");
msg.writeTo(System.out);
System.out.println("");
} catch (Exception ex) {
ex.printStackTrace();
}
return true;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
此阶段的请求和响应处理程序可能不会有完整的请求和响应。 Axis Servlet 或 HTTP 处理程序可能会执行此操作。
是否尝试过编写过滤器并记录完整的请求和响应?
The Request and Response handler at this stage probably will not have a complete Request and response. Probably the Axis Servlet will do it or a HTTP Handler.
Have tried writing a filter and log the complete request and response ?