如何使用Java和Axis 1.4获取SOAP请求消息

时间:2012-04-26 07:28:34

标签: java logging axis soap-client

出于记录的目的,我需要获取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消息?怎么样?

0 个答案:

没有答案