我正在为Java
构建Online Web Services
申请,我们称之为application A
。我从第二方获得WSDL
文件,因此我可以与他们的应用程序通信,让我们称之为application B
。
从WSDL
文件中,我生成Java
类Requests
所需的类Responses
。设置所需参数后,Application A
会发送一些request
对象,response
除application B
对象外。
建立连接,applications A and B
正在相互通信。
问题:
从application A
我如何获取xml
对象的request
数据(文件或文字),然后再将其发送到application B
?
如上所述,通过将Java
对象作为request
传递来完成连接,我知道在某些时候此request
将转换为xml
文件。如何获得它?
---编辑----
缺少可能导致混淆的重要信息。
我生成Java
Classed已使用Axis
框架
答案 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
自动生成