出于记录的目的,我需要获取SOAP请求和SOAP响应的内容。 一般来说,我有两种选择:
扩展Axis API(BasicHandler)的一部分并创建一个 拦截器,它将为我记录一切。
或者我可以“手动”进行日志记录,即使用Axis的实用程序 仅作为客户 - 没有延伸。
由于原因,项目的方法指向我手动实施日志记录。 到目前为止,我设法得到这样的SOAP响应:
private void getSOAPasString(Call call) {
try {
MessageContext context = call.getMessageContext();
SOAPMessage message = context.getMessage();
// Create transformer
TransformerFactory tff = TransformerFactory.newInstance();
Transformer tf;
tf = tff.newTransformer();
// Get reply content
Source sc = message.getSOAPPart().getContent();
// Set output transformation
StreamResult result = new StreamResult(System.out);
tf.transform(sc, result);
System.out.println(result);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println();
}
但我没有设法收到请求消息 - 你可以帮助我吗?是否可以获取请求SOAP消息?怎么样?