创建发布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: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语言本地代理,并把远程的服务解析成本地的类和接口,之后导包,导包如下。
之后编写测试类调用自己的服务,代码如下:
输出结果如下:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |