如何在发送之前从Java Request对象获取XML文件。 Web服务SOAP

时间:2014-05-15 04:58:57

标签: java xml web-services soap wsdl

我正在为Java构建Online Web Services申请,我们称之为application A。我从第二方获得WSDL文件,因此我可以与他们的应用程序通信,让我们称之为application B

WSDL文件中,我生成JavaRequests所需的类Responses。设置所需参数后,Application A会发送一些request对象,responseapplication B对象外。

建立连接,applications A and B正在相互通信。

问题:

application A我如何获取xml对象的request数据(文件或文字),然后再将其发送到application B

如上所述,通过将Java对象作为request传递来完成连接,我知道在某些时候此request将转换为xml文件。如何获得它?

---编辑----

缺少可能导致混淆的重要信息。

我生成Java Classed已使用Axis框架

生成

2 个答案:

答案 0 :(得分:2)

我发表评论的声誉不大,所以我的回答是:如果你还没有使用某个框架使用Apache CXF,如果你想在发送请求之前捕获请求,你可以使用cxf interceptors有一些内置的拦截器可以做到这一点,或者你可以创建一个具有正确阶段的自定义拦截器(例如,后编组)

答案 1 :(得分:2)

通过在bindingStub类中添加以下语句来解决问题,该语句是从您尝试访问的WSDL的{​​{1}}文件自动生成的。

web-services

这些陈述应放在以下方法调用String request = _call.getMessageContext().getRequestMessage().getSOAPPartAsString(); String response = _call.getMessageContext().getResponseMessage().getSOAPPartAsString(); 之后,否则您将获得_call.invoke

NullPointerException_call类型的变量,由org.apache.axis.client.Cal自动生成