4

出于日志记录的目的,我需要获取 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 消息?如何?

4

0 回答 0