日期:2014-05-17  浏览次数:20803 次

求助:如何使用xfire 调用.net做的webservice
首先我看到了http://blog.csdn.net/DragonTang/archive/2009/05/01/4140298.aspx,
使用这种方法可以成功调用 QQ是否在线的一个服务,但是对于其他的服务从来没有成功过,
比如一个查看电视节目的服务http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx:我的代码如下:
try {
            Client client = new Client(new URL("http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl"));
            Object[] results = client.invoke("getTVchannelString",new String[]{"628"});
            System.out.println(results[0]);
           
           
     } catch (MalformedURLException e) {
            e.printStackTrace();
     } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
     }
结果显示[#document: null]
再比如#
# getAreaString
[第一步] 获得支持的省市(地区)和分类电视名称 String()
输入参数:无;返回数据:一个一维字符串数组 String(),结构为:省市和分类电视ID@省市和分类电视名称@所属地区。
我的代码如下:try {
            Client client = new Client(new URL("http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl"));
            Object[] results = client.invoke("getAreaString",new String[]{});
            System.out.println(results[0]);
           
           
     } catch (MalformedURLException e) {
            e.printStackTrace();
     } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
     }
结果报错:Not enough input parameters were supplied!
请问该怎么调用.net的webservice?或者不用xfire,用其他方法也可以!最好能有例子,感激不尽!

------最佳解决方案--------------------
建议LZ 先看NEt 的service 返回类型 是什么 如果有dataset ,就要折腾了

我就是这个原因 直接放弃 调用原来的,用java重写dataset 部分 service
------其他解决方案--------------------
同样出现了这样的问题,LZ解决了没有,如果解决了,告诉我一下!