Rumah pangkalan data tutorial mysql axis2客户端调用免费的webservice服务的实例之三axis2使用RPC方

axis2客户端调用免费的webservice服务的实例之三axis2使用RPC方

Jun 07, 2016 pm 03:15 PM
webservice percuma pelanggan Hidangkan panggilan

前面两节我们分别说了调用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>
Salin selepas log masuk
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());
	    }*/
	}
}  
Salin selepas log masuk
其运行结果:

黑龙江,3113吉林,3114辽宁,3115内蒙古,3116河北,3117河南,3118山东,3119山西,31110江苏,31111安徽,31112陕西,31113宁夏,31114甘肃,31115青海,31116湖北,31117湖南,31118浙江,31119江西,31120福建,31121贵州,31122四川,31123广东,31124广西,31125云南,31126海南,31127新疆,31128西藏,31129台湾,31130北京,311101上海,311102天津,311103重庆,311104香港,311201澳门,311202钓鱼岛,311203


相同的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>
Salin selepas log masuk
public class Test2 {public static void main(String args[]) throws AxisFault{  
Salin selepas log masuk
            //指定调用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));
	}
}  
Salin selepas log masuk

其运行结果:

axis2客户端调用免费的webservice服务的实例之三axis2使用RPC方


有时还会出现下面这个错误:

axis2客户端调用免费的webservice服务的实例之三axis2使用RPC方


在网上查了好多,都没有什么解决方案,有了答案是让用方式一或方式二的方式

原因:说的都是webservice服务那边的问题。

所以大家可以更多的使用方式一或方式二去webserive开发


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pelanggan VMware Horizon tidak boleh dibuka [Betulkan] Pelanggan VMware Horizon tidak boleh dibuka [Betulkan] Feb 19, 2024 pm 11:21 PM

Pelanggan VMware Horizon tidak boleh dibuka [Betulkan]

Pelanggan VMware Horizon membeku atau terhenti semasa menyambung [Betulkan] Pelanggan VMware Horizon membeku atau terhenti semasa menyambung [Betulkan] Mar 03, 2024 am 09:37 AM

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! Di mana saya boleh membaca novel Feilu secara percuma? Feilu Novel membaca tutorial operasi novel percuma! Mar 15, 2024 pm 03:10 PM

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 Bagaimana untuk membuka Perkhidmatan Sambungan Desktop Jauh menggunakan arahan Dec 31, 2023 am 10:38 AM

Bagaimana untuk membuka Perkhidmatan Sambungan Desktop Jauh menggunakan arahan

Apakah cara yang betul untuk memulakan semula perkhidmatan dalam Linux? Apakah cara yang betul untuk memulakan semula perkhidmatan dalam Linux? Mar 15, 2024 am 09:09 AM

Apakah cara yang betul untuk memulakan semula perkhidmatan dalam Linux?

Panduan Pembangunan Klien PHP MQTT Panduan Pembangunan Klien PHP MQTT Mar 27, 2024 am 09:21 AM

Panduan Pembangunan Klien PHP MQTT

Inventori perisian rakaman skrin telefon bimbit percuma dan mudah digunakan_Koleksi aplikasi rakaman skrin telefon mudah alih yang mudah digunakan Inventori perisian rakaman skrin telefon bimbit percuma dan mudah digunakan_Koleksi aplikasi rakaman skrin telefon mudah alih yang mudah digunakan Mar 02, 2024 pm 12:46 PM

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

Apakah pelanggan mudah alih Apakah pelanggan mudah alih Aug 16, 2023 pm 01:40 PM

Apakah pelanggan mudah alih

See all articles