上午遇见了一个很意外的事情,说明一下,基于soap消息的方式调用了一下webservice,获取结果结果是不正确的,代码如下
//转发消息并获取结果 SOAPMessage response = dispatch.invoke(message); //解析结果,顺序与封装恰好一致,获取信封,获取body,转为 System.out.println(); Document doc = response.getSOAPPart().getEnvelope().getBody().extractContentAsDocument(); response.writeTo(System.out);
打上断点以后,发现服务端也能接收到正常数据,也能返回。看一下输出:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header/><S:Body/></S:Envelope>
消息体是空的,也没有报错,经过了两三个小时我才发现问题所在:
extractContentAsDocument方法将body的内容抽出放到doc中去了,如果在extractContentAsDocument前调用一下response.writeTo(System.out);就能显示正常的了。
代码改成这样
System.out.println("输出结果:"); //转发消息并获取结果 SOAPMessage response = dispatch.invoke(message); //解析结果,顺序与封装恰好一致,获取信封,获取body,转为 response.writeTo(System.out); System.out.println(); Document doc = response.getSOAPPart().getEnvelope().getBody().extractContentAsDocument(); response.writeTo(System.out);
这次输出的数据:
输出结果: 第一次: <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header/><S:Body><ns2:addUserResponse xmlns:ns2="http://service.soap.org/"><user><id>12</id><nickname>tudou123</nickname><password>123123</password><username>xxx</username></user></ns2:addUserResponse></S:Body></S:Envelope> 第二次: <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header/><S:Body/></S:Envelope>
相关推荐
JAVA调用WEBSERVICE图解说明书,含实例
T100,tiptop WebService资料 懂的来(顾问公司基本不会教你的),这是我和另一个同事花了一个星期研究的,所以资源分是高了点,但是对公司内部整合非常有用(移动端也是这个方法)
这个工程详细的介绍了webService服务客户端如何调用简单和复杂的webService,其中就包括传递的参数是对象类型,返回数据是数组类型,还有最简单的基本类型。压缩包里还配置说明,清晰的说明webService的整个过程,对...
java项目简单模拟soap型的webservice远程调用服务,内附使用说明文档方便学习和查阅,让你轻松学会soap-webservice的使用方法!
Python调用WebService接口实例
webservice调用说明
如果不是因为头脑发热心血来潮,那么一定是为了解决某些问题才有了 PHPRPC。好吧,我承认是因为我受够了那些大企业所鼓吹的强大无比的 SOAP(WebService)之后才开始考虑写 PHPRPC 的。如果你也是一个需要类似于 ...
java 调用https发布的webservice接口实例及axis包及详细说明
基于VS开发环境,建立webService应用程序后,在ASP.NET中通常无法直接调用,这里对该问题进行了简单说明。
SQL Server调用Webservice示例,有详细的说明文档,附demo
泛微非常细的webservice接口开发说明,应用于泛微E8,E9版本,Ecology8、Ecology9的webservice开发文档
调用WEBService数据,很好用的,大家下下来试试
泛微OA系统工作流WebService接口使用说明.doc,含调用实例.....................................................................................................................................................
泛微 ecology9.0 文档(DocService)WebService接口使用说明
展示VC对webservice的调用实例以及说明 对webserivice的返回的数据处理的应用实例. 可以参考使用.
泛微工作流(WorkflowService)WebService接口使用说明
使用javascript 中Ajax技术调用WebService,包括JSP和ASP.NET中两种,其中JSP的WebService使用了XFire框架。 ASP.NET中的WebService做了一个方法示例GetProgress,包含3个参数。 JSP中的WebService做了hello方法的...
webservice说明接口调用以及示例代码新版
WEBSERVICE调试工具-ESB消息统一推送接口调用说明,内附调试工具,开发webservice接口的同学可以下载
简单的理解就是:webservice 就是放在服务器上的函数,所有人都可以调用,然后返回信息。 比如google就有一个web service ,你调用它就可以很容易的做一个搜索网站。 就像调用函数一样,传入若干参数(比如关键字、...