网上有很多类似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管理的)
相关推荐
Java开发生生WebService客户端代码操作步骤 Java开发生生WebService客户端代码操作步骤 Java开发生生WebService客户端代码操作步骤
soapui生成webservice客户端代码,比较详细的讲解了配置,以及生成客户端代码的步骤
通过这个"jax-ws WebService客户端与服务端工程",你可以实践创建一个简单的JAX-WS服务,了解服务端的部署,以及客户端如何通过WSDL找到服务并进行调用。同时,还可以学习到JAXB在数据转换中的作用,以及如何处理Web...
WebService客户端调用WebService服务示例代码,java代码,纯手工,包括直接httpClient直接发送Saop报文调用和利用wsimport -keep 生成客户端代码后调用两种方式的示例。因涉及商务账户密码隐私,因此代码中的有些账号...
根据对方提供的webservice地址,你先将对方webservice的wsdl文件描述文件保存到本地为后缀名为.wsdl的文件,然后保存到Tools的这个文件夹下,编辑WSDL2AxisClient.bat这个文件,将%Java_Cmd% org.apache.axis.wsdl....
webservice 客户端 实例 java webservice 客户端 实例 java webservice 客户端 实例 java webservice 客户端 实例 java webservice 客户端 实例 java
使用cxf wsdl2java生成webservice客户端命令
本文将通过分析一个具体的Java WebService客户端示例代码,深入探讨其构建原理、关键技术点以及实际应用。 #### 二、核心概念解析 ##### 1. WebService简介 WebService是一种跨平台的服务器端应用,它提供了一种...
通过这个实例,我们不仅学习了如何使用`wsimport`生成WebService客户端代码,还了解了如何在Java中调用这些代码与服务进行通信。这个过程对于理解Web服务的工作原理和Java的WebService客户端开发非常有帮助。在实际...
WebService是一种基于XML的标准化方式,用于在不同的应用程序之间...总之,本实例涵盖了WebService的基本概念和Java环境下客户端、服务端的实现,通过阅读源代码和运行示例,可以深入理解WebService的工作原理和应用。
在本场景中,我们讨论的是一个Web Service客户端代码,该代码可以与任何数据库配合使用,其框架是Spring MVC,数据访问层则采用MyBatis。 Spring MVC是一个强大的MVC(Model-View-Controller)框架,广泛应用于Java...
//改成你的地址 SOAPMappingRegistry smr = new SOAPMappingRegistry(); StringDeserializer sd = new StringDeserializer(); smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "Result"), null, null, ...
测试Webservice客户端代码,详情查看:http://blog.csdn.net/jptiancai/article/details/23770713
在这个“cxf的webservice的客户端代码”主题中,我们将深入探讨如何使用CXF框架来构建一个能够与Web服务交互的客户端。 首先,创建CXF Web服务客户端的核心在于理解服务代理的生成。CXF提供了WSDL2Java工具,可以从...
【使用Axis自动生成WebService客户端代码】是Web服务开发中的一个重要步骤,它简化了与服务交互的复杂性。本文档主要介绍了如何在MyEclipse 7.0环境下利用Axis 1.4工具生成客户端代码,以便调用并测试Webservice。 ...
4. **生成的Java代码**:生成的客户端代码通常包括服务代理类和服务接口。服务代理类包含了调用WebService的具体实现,而服务接口则定义了可供应用使用的操作方法。这些代码使得开发者能够像调用本地方法一样调用...
本实例以"java-经典webservice源码"为例,详细讲解如何利用Java实现WebServices的服务器端和客户端。 1. **WebServices基本概念** - **SOAP(Simple Object Access Protocol)**:是WebServices使用的传输协议,以...
利用wsdl2java工具和SoapUI工具生成webservice的客户端代码 Java实现登陆验证调用 压缩包里包括需要的所有文件,供需要的同学使用 1.apache-cxf-3.3.7 2.SoapUI 5.4.0-EB 3.生成代码的教程 4.获取service调用的...