xfire java调用 .NET webservice 方法返回值是[#document: null]

来源:互联网 发布:数据库 怎么输入rull 编辑:程序博客网 时间:2024/06/06 08:58

问题描述:

//通过WSDL创建一个动态的客户端,调用.NET的webservice
            Client client = new Client(new URL("http://some.com/service/WebService.asmx?wsdl"));
            Object[] results = client.invoke("methodName", new Object[] {param1,param2,...paramN});
            System.out.println(results[0]);

结果返回的是 [#document: null]

问题解决:

返回的是org.apache.xerces.dom.DocumentImpl,你也可以强制转换为w3c的document。

Document d = (Document)results[0];

这边的XML文件比较简单:

<Result xmlns="http://tempuri.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Errorcode>1</Errorcode>
<Errormsg></Errormsg>
</Result>

 

所以我直接获得Errorcode的值

System.out.println(d.getFirstChild().getFirstChild().getNodeName()+"::"+d.getFirstChild().getFirstChild().getTextContent());

 

总体的java代码如下:

 

当然如果是复杂的XML文件,就可以nodeList进行循环读取了。如:

NodeList nl =d.getElementsByTagName("Errorcode");

 

原创粉丝点击