`
josico
  • 浏览: 44183 次
社区版块
存档分类
最新评论

清风教你手把手-写WebService客户端代码(Java版本)

 
阅读更多

网上有很多类似webservice的一些教程,但感觉都不太实用,哪怕你把helloworld写再优雅,再深奥,到了实际商业应用,还是会有各种各样的问题。这里清风讲一下webservice的客户端开发

 

工作上设计到webservice的开发,多半是调用三方的webservice服务。好了,废话不多说,进入正题

 

我们以这个查询电话归属地为例来进行讲解,如何调他的服务,来获取我们需要的信息

http://www.webxml.com.cn/WebServices/MobileCodeWS.asmx

(PS.目前这个webservice是免费并且可用的,可能别人会收费,可能会撤服务,如果真是这样,大家可以换一个,网上这类服务也不少)

 

编码webservice代码,首先需要拿到服务端的wsdl文件,何为wsdl文件,这个大家百度吧,这里就不说了。

一般服务的wsdl文件,都是在服务链接的后面加上“?wsdl”,以我们这个demo为例,他的wsdl文件就是 http://www.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

 

生成客户端代码,也封很多种,这里我们讲解比较主流的一种,用cxf来生成

cxf是Apache的顶级项目,下载地址如下:http://cxf.apache.org/download.html

我下的是最新版 apache-cxf-3.0.3-src.zip,大家直接下最新版的,应该也没什么问题

 

下好了之后,进入apache-cxf-3.0.3\bin目录,可以看到有一个指令是 wsdl2java

 

在这个目录下,打开命令行,输入指令

wsdl2java -p com.cug.client -encoding utf-8 http://www.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

 

-p 是指定包名

-encoding 是指定编码方式(主要是针对注释,有的注释是中文,不加的话,就会显示乱码,对代码没影响)

然后接下来就是接上wsdl文件的地址。wsdl文件也可以下载到本地,一样的效果,按自己情况选择

 

执行完后,就会在当前目录下,生成客户端代码了。

这个包里面,就全是生成好的客户端代码


 

命名比较规范的服务端,一般你生成好了,会有一个类叫XXXXSoap。这个类就是你需要使用的类,如果没有,那就要自己找找看了(后面我会附上全部代码供大家参考)

 

接下来就是我们自己的功能代码了,这里我是通过static来进行单例管理。也可以托管给spring管理,这里我不贴出来了,不然spring的配置又一大推,太繁琐了。大家自己google一下,很容易

public class SoapClient {

	private static MobileCodeWSSoap soap;
	
	static{
		JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
		factory.setAddress("http://www.webxml.com.cn/WebServices/MobileCodeWS.asmx");
		factory.setServiceClass(MobileCodeWSSoap.class);
		soap = (MobileCodeWSSoap) factory.create();
	}
	
	public static void main(String[] args) {
		String info = soap.getMobileCodeInfo("13512757811", null);
		System.out.println(info);
	}
}

 展示结果截图


OK,说完了,此处该有掌声,代码见附件 webservice.zip  

(PS.依赖是maven管理的)

  • 大小: 9.2 KB
  • 大小: 22.9 KB
分享到:
评论
2 楼 josico 2015-03-17  
是谁。。。
a3229526 写道
博主真人好帅哟!

1 楼 a3229526 2015-03-16  
博主真人好帅哟!

相关推荐

    Java生成WebService客户端代码操作步骤.txt

    Java开发生生WebService客户端代码操作步骤 Java开发生生WebService客户端代码操作步骤 Java开发生生WebService客户端代码操作步骤

    soapui生成webservice客户端代码

    soapui生成webservice客户端代码,比较详细的讲解了配置,以及生成客户端代码的步骤

    jax-ws WebService客户端与服务端工程.rar

    通过这个"jax-ws WebService客户端与服务端工程",你可以实践创建一个简单的JAX-WS服务,了解服务端的部署,以及客户端如何通过WSDL找到服务并进行调用。同时,还可以学习到JAXB在数据转换中的作用,以及如何处理Web...

    WebService客户端调用WebService服务示例代码——java

    WebService客户端调用WebService服务示例代码,java代码,纯手工,包括直接httpClient直接发送Saop报文调用和利用wsimport -keep 生成客户端代码后调用两种方式的示例。因涉及商务账户密码隐私,因此代码中的有些账号...

    根据wsdl文件生成webservice客户端工具(java)

    根据对方提供的webservice地址,你先将对方webservice的wsdl文件描述文件保存到本地为后缀名为.wsdl的文件,然后保存到Tools的这个文件夹下,编辑WSDL2AxisClient.bat这个文件,将%Java_Cmd% org.apache.axis.wsdl....

    webservice 客户端 实例 java

    webservice 客户端 实例 java webservice 客户端 实例 java webservice 客户端 实例 java webservice 客户端 实例 java webservice 客户端 实例 java

    使用cxf wsdl2java生成webservice客户端

    使用cxf wsdl2java生成webservice客户端命令

    Java写WebService客户端

    本文将通过分析一个具体的Java WebService客户端示例代码,深入探讨其构建原理、关键技术点以及实际应用。 #### 二、核心概念解析 ##### 1. WebService简介 WebService是一种跨平台的服务器端应用,它提供了一种...

    使用wsimport命令生成webService客户端代码实例(查询手机号码)(源码Demo)

    通过这个实例,我们不仅学习了如何使用`wsimport`生成WebService客户端代码,还了解了如何在Java中调用这些代码与服务进行通信。这个过程对于理解Web服务的工作原理和Java的WebService客户端开发非常有帮助。在实际...

    webservice 客户端 服务端实例 代码

    WebService是一种基于XML的标准化方式,用于在不同的应用程序之间...总之,本实例涵盖了WebService的基本概念和Java环境下客户端、服务端的实现,通过阅读源代码和运行示例,可以深入理解WebService的工作原理和应用。

    webservice客户端代码

    在本场景中,我们讨论的是一个Web Service客户端代码,该代码可以与任何数据库配合使用,其框架是Spring MVC,数据访问层则采用MyBatis。 Spring MVC是一个强大的MVC(Model-View-Controller)框架,广泛应用于Java...

    简单 webservice 客户端代码

    //改成你的地址 SOAPMappingRegistry smr = new SOAPMappingRegistry(); StringDeserializer sd = new StringDeserializer(); smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "Result"), null, null, ...

    测试Webservice客户端代码

    测试Webservice客户端代码,详情查看:http://blog.csdn.net/jptiancai/article/details/23770713

    cxf的webservice的客户端代码

    在这个“cxf的webservice的客户端代码”主题中,我们将深入探讨如何使用CXF框架来构建一个能够与Web服务交互的客户端。 首先,创建CXF Web服务客户端的核心在于理解服务代理的生成。CXF提供了WSDL2Java工具,可以从...

    使用axis自动生成webservice客户端代码.docx

    【使用Axis自动生成WebService客户端代码】是Web服务开发中的一个重要步骤,它简化了与服务交互的复杂性。本文档主要介绍了如何在MyEclipse 7.0环境下利用Axis 1.4工具生成客户端代码,以便调用并测试Webservice。 ...

    webservice 客户端自动生成工具

    4. **生成的Java代码**:生成的客户端代码通常包括服务代理类和服务接口。服务代理类包含了调用WebService的具体实现,而服务接口则定义了可供应用使用的操作方法。这些代码使得开发者能够像调用本地方法一样调用...

    java-经典webservice源码实例

    本实例以"java-经典webservice源码"为例,详细讲解如何利用Java实现WebServices的服务器端和客户端。 1. **WebServices基本概念** - **SOAP(Simple Object Access Protocol)**:是WebServices使用的传输协议,以...

    利用wsdl2java工具和SoapUI工具生成webservice的客户端代码 SpringBoot实现登陆验证调用.rar

    利用wsdl2java工具和SoapUI工具生成webservice的客户端代码 Java实现登陆验证调用 压缩包里包括需要的所有文件,供需要的同学使用 1.apache-cxf-3.3.7 2.SoapUI 5.4.0-EB 3.生成代码的教程 4.获取service调用的...

Global site tag (gtag.js) - Google Analytics