axis2客户端调用免费的webservice服务的实例之三axis2使用RPC方
Jun 07, 2016 pm 03:15 PM前面两节我们分别说了调用webservice的两种方式: 1.axis2客户端调用免费的webservice服务的实例之一通过wsdl生成客户端程序并本地调用 2 . axis2客户端调用免费的webservice服务的实例之二纯手动调用免费天气预报webservice服务 下面我们介绍一下第三种方式
前面两节我们分别说了调用webservice的两种方式:
1.axis2客户端调用免费的webservice服务的实例之一通过wsdl生成客户端程序并本地调用
2.axis2客户端调用免费的webservice服务的实例之二纯手动调用免费天气预报webservice服务
下面我们介绍一下第三种方式:axis2使用RPC方式调用网上免费WebService
这种方式类似第二种方式,只是用到的类不同,但是这种方式感觉容易出问题。不多说,直接上代码
<span style="color:#3b5998;">package com.yy.test; import javax.xml.namespace.QName; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.rpc.client.RPCServiceClient; //</span><span style="color:#ff6600;">使用webservice无参数的方法:getRegionProvince</span>
public class Test2 { public static void main(String args[]) throws AxisFault{ //使用RPC方式调用WebService RPCServiceClient serviceClient = new RPCServiceClient(); Options options = serviceClient.getOptions(); //指定调用WebService的URL EndpointReference targetEPR = new EndpointReference( "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl"); options.setTo(targetEPR); options.setAction("http://WebXml.com.cn/getRegionProvince"); //指定方法的参数值 Object[] opAddEntryArgs = new Object[] {}; //指定要调用的方法及WSDL文件的命名空间 QName opAddEntry = new QName("http://WebXml.com.cn/", "getRegionProvince"); //调用法并输出该方法的返回值 System.out.println(serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs)); /*Object[] result=serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes); for (Object object : result) { System.out.println(object.toString()); }*/ } }
相同的webservive服务,本次使用有参数的方法:getSupportCityString
package com.yy.test; import javax.xml.namespace.QName; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.rpc.client.RPCServiceClient; <a target="_blank" href="http://blog.csdn.net/mingliangniwo/article/details/44202139" style="list-style: none; text-decoration: none; word-break: break-all; word-wrap: break-word; font-family: Verdana, 'Lucida Grande', Arial, Helvetica, sans-serif;"></a><pre name="code" class="java"><span style="color:#3b5998;">//</span><span style="color:#ff6600;">使用webservice有参数的方法:getSupportCityString</span>
//指定调用WebService的URL RPCServiceClient serviceClient2 = new RPCServiceClient(); Options options2 = serviceClient2.getOptions(); //指定调用WebService的URL EndpointReference targetEPR2 = new EndpointReference( "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl"); options2.setTo(targetEPR2); options2.setAction("http://WebXml.com.cn/getSupportCityString"); //指定方法的参数值 Object[] opAddEntryArgs2 = new Object[] {"北京"}; //指定方法返回值的数据类型的Class对象 Class[] classes2 = new Class[] {String.class}; //指定要调用的方法及WSDL文件的命名空间 QName opAddEntry2 = new QName("http://WebXml.com.cn/", "getSupportCityString"); //调用法并输出该方法的返回值 System.out.println(serviceClient2.invokeBlocking(opAddEntry2, opAddEntryArgs2, classes2)); } }
其运行结果:
有时还会出现下面这个错误:
在网上查了好多,都没有什么解决方案,有了答案是让用方式一或方式二的方式
原因:说的都是webservice服务那边的问题。
所以大家可以更多的使用方式一或方式二去webserive开发

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas
![Pelanggan VMware Horizon tidak boleh dibuka [Betulkan]](https://img.php.cn/upload/article/000/887/227/170835607042441.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Pelanggan VMware Horizon tidak boleh dibuka [Betulkan]
![Pelanggan VMware Horizon membeku atau terhenti semasa menyambung [Betulkan]](https://img.php.cn/upload/article/000/887/227/170942987315391.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Pelanggan VMware Horizon membeku atau terhenti semasa menyambung [Betulkan]

Di mana saya boleh membaca novel Feilu secara percuma? Feilu Novel membaca tutorial operasi novel percuma!

Bagaimana untuk membuka Perkhidmatan Sambungan Desktop Jauh menggunakan arahan

Apakah cara yang betul untuk memulakan semula perkhidmatan dalam Linux?

Inventori perisian rakaman skrin telefon bimbit percuma dan mudah digunakan_Koleksi aplikasi rakaman skrin telefon mudah alih yang mudah digunakan
