使用axis2调用.net的webservice疑惑讨论
2011-12-20 13:12
477 查看
工作好几年了,一直没有在工作中使用过webservice,可能也算是一种遗憾。可,凭着做技术的特有好奇吧,也会私下写一两个demo尝试下。最近,听说webservice的插件都用到axis2了。所以空闲时候开始准备再写个demo调用。
服务接口ENDPOINT:http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx
调用无参的接口getSupportProvince()是可以正常拿到返回的。
可是当调用需要参数的getWeatherbyCityName()却老是出错。郁闷啊。
代码如下:
调用第二个带参数方法时,失败,抛出异常
希望有经验的同学一起分析下,探讨下啊。不甚感激!
服务接口ENDPOINT:http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx
调用无参的接口getSupportProvince()是可以正常拿到返回的。
可是当调用需要参数的getWeatherbyCityName()却老是出错。郁闷啊。
代码如下:
private static void invokeWeatherInfo() { try { // 使用RPC方式调用WebService RPCServiceClient serviceClient = new RPCServiceClient(); Options options = serviceClient.getOptions(); // 指定调用WebService的URL EndpointReference targetEPR = new EndpointReference( "http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx"); // 不设或者设错了Action,抛出org.apache.axis2.AxisFault: 服务器未能识别 HTTP 头 // SOAPAction 的值 options.setAction("http://WebXml.com.cn/getSupportProvince"); // 这个参数告诉调用接口的完整url options.setTo(targetEPR); // 第一个参数为接口的namespace 第二个参数为方法名 QName qname = new QName("http://WebXml.com.cn/", "getSupportProvince");// 这两个参数貌似可以随便输 // 获得本天气预报Web Services支持的洲、国内外省份和城市信息 // 输入参数:无; 返回数据:一个一维字符串数组 String(),内容为洲或国内省份的名称。 System.out.println(serviceClient.invokeBlocking(qname, new Object[] {}).toString()); // org.apache.axis2.AxisFault: 服务器无法处理请求。 ---> 值不能为空。 // 获得天气预报数据 // 输入参数:城市/地区ID或名称,返回数据:一维字符串数组 Class<?>[] classes = new Class[] { String.class }; Object[] args = new Object[] { "长沙" }; options.setAction("http://WebXml.com.cn/getWeatherbyCityName"); // // 这个参数告诉调用接口的完整url qname = new QName("http://WebXml.com.cn/", "getWeatherbyCityName"); serviceClient.invokeBlocking(qname, args, classes); } catch (AxisFault ex) { ex.printStackTrace(); } }
public static void main(String[] args) { // invokeTVchannel(); invokeWeatherInfo(); }
调用第二个带参数方法时,失败,抛出异常
org.apache.axis2.AxisFault: 服务器无法处理请求。 ---> 未将对象引用设置到对象的实例。 at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
希望有经验的同学一起分析下,探讨下啊。不甚感激!
相关文章推荐
- 使用Axis2开发webservice服务端接口+axis开发的客户端调用
- java使用AXIS2调用asp.net的WebService
- PHP使用SOAP调用.net的WebService问题
- 多次使用axis2调用webservice后,报连接超时错误
- 使用Android Studio开发调用.NET Webservice 之初体验
- Axis2 java调用.net webservice接口的问题(郑州就维)
- 使用java的xfire调用.net的webservice-王亮
- Axis2 调用.net webservice 出现 服务器未能识别 HTTP 头 SOAPAction 的值错误 的解决办法
- Python使用SOAPpy调用.net写的WebService的乱码问题总结
- PHP使用SOAP调用.net的WebService数据
- Axis2 java调用.net webservice接口的问题(郑州就维)
- java使用AXIS调用.net的webservice的小说明(webservice方法里含有对象)
- 使用axis2访问webservice(webserivice基于.net平台实现)
- PHP使用SOAP调用.net的WebService问题
- 使用cxf调用.net的Webservice
- axis2调用 .net的webservice asmx
- 使用axis2调用sap生成的webservice(带用户密码认证)
- 使用cxf调用.net的Webservice
- 多次使用axis2调用webservice后,报连接超时错误
- 使用Vbscript调用.NET WebService