一、 通过wsimport生成本地代理调用WebService

  1、推荐的访问服务方式

  WebService已纳入w3c规范,其他的平台都支持该规范 :J2EE\Php\.NET都支持wsimport 方式,即对远程的WebService生成本地代理,再通过本地代理来访问WebService。客户端通过wsimport的方式生成java语言本地代理,并把远程的服务解析成本地的类和接口。

  A、服务访问要求

  Jdk的版本要在Jdk 1.6.21及以上。

  B、 wsimport的使用

  wsimport命令的位置在JDK安装路径的Bin目录下,wsimport常用语法如下图,下图中的wsimport路径为我自己电脑的JDK路径

  

  

  

  2、具体案例和Java代码实现

  步骤一、

  确定系统Jdk环境与Eclipse Jdk环境一致,版本在1.6.021以上

  步骤二、

  知道服务端的WSDL路径(WSDL后面有详细介绍),如本次调用查询手机归属地服务的具体路径如下:

  http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?WSDL

步骤三、

  使用JDK1.6以上版本的wsimport命令获得服务端的class文件,生成本地代理

  示例命令如下,其中-s D:\test为指定class文件的存储路径

    

  步骤四、

  在指定的路径下找到服务端的class文件(步骤3路径为D:\test),默认会生成指定的包名cn.com.webxml,并将该包导入新建项目中。

  

  步骤五、

  编写Java代码获取相应的服务数据,具体代码实现如下:

  

  返回结果如下:

  

二、 创建并发布自己的WebService

  1、编写WebService的服务端并发布

  如果要编写WebService的服务端并发布,需要编写业务类,该类通过WebService对外提供服务,要做以下工作

A、声明:@webservice

  B、发布:调用EndPoint方法

  下面为一个创建并发布服务的案例以及Java代码实现

  步骤一、

  编写业务类,并在业务类的类名之上添加@webservice注解,如下示例为编写一个手机操作系统信息类,用以提供不同手机操作系统对应的发展历史,所属公司以及别名。首先编写手机的Bean,为其配置三个属性和添加getter和setter方法。

  

  步骤二、

  编写该业务类的发布方法,指定发布的地址和具体的业务实现类,注意浏览服务具体信息时,地址后面需添加“?WSDL”代码如下,运行即可发布服务。

  步骤三、

  访问服务的具体说明路径,上例中生成的路径为:

  http://127.0.0.1:8888/webservice/phoneservice?WSDL

  访问该路径,看到生成对应的服务名以及方法则服务发布成功,如下图

  

  2、调用自己发布的服务

  如果要调用自己编写的上例中的WebService,可以使用上文介绍的通过wsimport生成本地代理的方式来调用,通过wsimport的方式生成java语言本地代理,并把远程的服务解析成本地的类和接口,之后导包,导包如下。

  

  之后编写测试类调用自己的服务,代码如下:

  

  输出结果如下:

  

创建发布Webservice以及wsimport工具的更多相关文章

  1. Apache CXF使用Jetty发布WebService

    一.概述 Apache CXF提供了用于方便地构建和开发WebService的可靠基础架构.它允许创建高性能和可扩展的服务,可以部署在Tomcat和基于Spring的轻量级容器中,也可以部署在更高级的 ...

  2. 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService

    WebService历来都很受重视,特别是Java阵营,WebService框架和技术层出不穷.知名的XFile(新的如CXF).Axis1.Axis2等. 而Sun公司也不甘落后,从早期的JAX-R ...

  3. JAX-WS(JWS)发布WebService

    WebService历来都很受重视,特别是Java阵营,WebService框架和技术层出不穷.知名的XFile(新的如CXF).Axis1.Axis2等. 而Sun公司也不甘落后,从早期的JAX-R ...

  4. 真正的轻量级WebService框架——使用JAX-WS(JWS)发布WebService(转载)

    WebService历来都很受重视,特别是Java阵营,WebService框架和技术层出不穷.知名的XFile(新的如CXF).Axis1.Axis2等. 而Sun公司也不甘落后,从早期的JAX-R ...

  5. CXF2.7整合spring发布webservice

    ---------==========--服务端发布webservice-=============-------- 1.需要的jar包: 2.包结构 3.代码 1.实体类 package cn.ql ...

  6. Spring+CXF+Maven发布Webservice

    使用CXF发布WebService简单又快速,还可以与Spring集成,当Web容器启动时一起发布WebService服务.本例是简单的客户端给服务端发送订单信息,服务端返回订单转为json的字符串. ...

  7. 用JAX-WS在Tomcat中发布WebService

    JDK中已经内置了Webservice发布,不过要用Tomcat等Web服务器发布WebService,还需要用第三方Webservice框架.Axis2和CXF是目前最流行的Webservice框架 ...

  8. WebService学习之旅(一)使用JAX-WS发布WebService

    JAX-WS全称Java™ API for XML Web Services,是随着JDK1.6及其后续版本发布的方便Java程序员开发WebService应用的一组API,通常简称为JWS,目前版本 ...

  9. So easy Webservice 7.CXF 发布WebService

    (一)使用ServerFactoryBean 方式实现发布WS服务 1.新建项目,添加cxf jar包到项目中 2.编写服务实现类 /** * CXF WebService * 不用注解 * @aut ...

随机推荐

  1. josn 格式 解析

    格式为:{"lng":113.534634,"lat":22.274308} 解析步骤如下: <?php $a=json_decode($goods_in ...

  2. java------守护线程与非守护线程

    最近重新研究Java基础知识,发现以前太多知识知识略略带过了,比较说Java的线程机制,在Java中有两类线程:User Thread(用户线程).Daemon Thread(守护线程) ,(PS:以 ...

  3. ThinkPHP中的验证码不出现的解决办法

    出现这种问题的原因可能是因为代码写的不规范,出现了其他的输出:解决办法: 原代码:     public function captchaAction()    {        $verify = ...

  4. Ubuntu Mysql 安装

    下载 http://dev.mysql.com/downloads/mysql/ 选择 Linux- Generic 选择版本 wget http://cdn.mysql.com/Downloads/ ...

  5. Spring_day03--Spring的事务管理

    Spring的事务管理 事务概念 1 什么事务 事务是操作中最基本的单元,表示一组操作要么都成功,有一个失败那么所有都失败. 2 事务特性 原子性 一致性 隔离性 持久性 3 不考虑隔离性产生读问题 ...

  6. THINKPHP5加载公共头部尾部模板方法

    之前在3.2中用 <include file="public/header" /> 后来发现在thinkphp5中应该这样写才行 {include file=" ...

  7. 《Shiro框架》shiro学习中报错解决方法

    [1] 最近在学习shiro,在学习过程中出现了一个问题,报错如下: org.apache.shiro.UnavailableSecurityManagerException: No Security ...

  8. 【BZOJ4726】[POI2017]Sabota? 树形DP

    [BZOJ4726][POI2017]Sabota? Description 某个公司有n个人, 上下级关系构成了一个有根树.其中有个人是叛徒(这个人不知道是谁).对于一个人, 如果他 下属(直接或者 ...

  9. 关东升的《从零开始学Swift》3月9日已经上架

    大家一直期盼的<从零开始学Swift>于3月9日已经上架,它是关东升老师历时8个月的呕心沥血所编著,全书600多页,此本书基于Swift 2.x,通过大量案例全面介绍苹果平台的应用开发.全 ...

  10. excel提取汉字拼音首字母

    本文转载:http://jingyan.baidu.com/article/63acb44adca44461fcc17e85.html 利用Excel表格中的宏,轻松提取首字母 方法/步骤 1.启动E ...