Java 在Axis web服务(IBM WebSphere 7)中获取SOAP XML或标头
我手中有一个Axis web服务,据说它接收SOAP请求并给出SOAP响应。这是由其他人完成的,我以前没有任何使用ApacheAxis的经验 当测试程序向web服务发送示例SOAP请求时,首先Java 在Axis web服务(IBM WebSphere 7)中获取SOAP XML或标头,java,xml,web-services,soap,Java,Xml,Web Services,Soap,我手中有一个Axis web服务,据说它接收SOAP请求并给出SOAP响应。这是由其他人完成的,我以前没有任何使用ApacheAxis的经验 当测试程序向web服务发送示例SOAP请求时,首先org.apache.axis2.transport.http.AxisServlet.doPost将该请求作为http POST请求接收。然后在Axis2 API中进行一些处理,最终通过反射调用我们自己的代码 在代码的这个入口点,我们只能获得soapxml请求中用axis名称空间定义的内容我需要的是通过J
org.apache.axis2.transport.http.AxisServlet.doPost
将该请求作为http POST请求接收。然后在Axis2 API中进行一些处理,最终通过反射调用我们自己的代码
在代码的这个入口点,我们只能获得soapxml请求中用axis
名称空间定义的内容我需要的是通过Java获取请求头或整个SOAP XML请求。
骨架示例结构是:
<Envelope xmlns:axis="soap-service-url">
<Header>
some-header-content
</Header>
<Body>
<axis:request>
<axis:input0>sometext</axis:input0>
<axis:input1>othertext</axis:input1>
</axis:request>
</Body>
</Envelope>
一些标题内容
一些文字
其他文本
在代码的入口点,我们只得到sometext
和othertext
作为String
s。我的目标是获取标题,即一些标题内容
,但是如果我能够获取整个soapxml,我会很高兴
我已经试着找到一个解决方案很长一段时间了(搜索了很多,在SO中查找了类似的问题),但我读得越多,就越感到困惑。我试过:
- 调用从
创建的org.apache.axis.client.Service.createCall()
对象-无论我尝试org.apache.axis.client.Call
,setTargetEndpointAddress
,setOperationName
等何种配置,这总是导致setOApactionUri
NullPointerException
-返回nullMessageContext.getCurrentContext()
- 考虑过添加一个
,但我不确定该怎么做,甚至不确定处理程序
如何将标题内容传递到我实际需要的地方(处理程序不是异步的吗?)处理程序