• 创建发布Webservice以及wsimport工具


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

      1、推荐的访问服务方式

      WebService已纳入w3c规范,其他的平台都支持该规范 :J2EEPhp.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: est为指定class文件的存储路径

        

      步骤四、

      在指定的路径下找到服务端的class文件(步骤3路径为D: est),默认会生成指定的包名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语言本地代理,并把远程的服务解析成本地的类和接口,之后导包,导包如下。

      

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

      

      输出结果如下:

      

  • 相关阅读:
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    线性表——数组实现
    this指针与const成员函数
    类对象拷贝是不是赋值操作??
    你真的理解内联函数吗?
    名字查找先于类型检查:函数重载与作用域
    谈谈函数调用
    推荐形参使用常量引用:void func(const T &);
  • 原文地址:https://www.cnblogs.com/jiyukai/p/9249026.html
Copyright © 2020-2023  润新知