axis1.4 开发指南

上传人:suns****4568 文档编号:78871226 上传时间:2019-02-15 格式:PDF 页数:75 大小:970.98KB
返回 下载 相关 举报
axis1.4 开发指南_第1页
第1页 / 共75页
axis1.4 开发指南_第2页
第2页 / 共75页
axis1.4 开发指南_第3页
第3页 / 共75页
axis1.4 开发指南_第4页
第4页 / 共75页
axis1.4 开发指南_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《axis1.4 开发指南》由会员分享,可在线阅读,更多相关《axis1.4 开发指南(75页珍藏版)》请在金锄头文库上搜索。

1、Axis1.4 开发指南 第 1 页 共 75 页 Axis1.4Axis1.4Axis1.4 Axis1.4 开发指南开发指南 V V V V 1.01.01.0 1.0 作作 者者 ProdigyWitProdigyWitProdigyWit ProdigyWit (QQ:3562720) AlongAlongAlong Along (QQ:36224205) 版权说明版权说明版权说明 版权说明 本文档版权归原作者所有。 在免费的前提下,可在网络媒体中自由传播。 如果需要部分或者全文引用,请注明出处。 文档版本更新说明文档版本更新说明文档版本更新说明 文档版本更新说明 本文档参考并引用了以

2、下著作本文档参考并引用了以下著作本文档参考并引用了以下著作 本文档参考并引用了以下著作 版本号版本号发布时间发布时间说明说明 V1.02008-7-15发布。 著作名著作日期作者 Axis Webservice 教程未知未知 Axis1.4 开发指南 第 2 页 共 75 页 目录目录目录 目录 AXIS1.4AXIS1.4AXIS1.4 AXIS1.4 开发指南开发指南. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 版权说明.1 文档版本更新说明1 本文档参考并引用了以下著作1 目录 2 1.WEBSERVICE简介.3 1.1 WebService 介绍.3 1.2 WebService 的开源实现.3 2.AXIS 使用.3 2.1 AXIS 的介绍.3 2.2 AXIS

6、的下载.3 2.3 AXIS 的安装.4 2.4 开发自己的 WebService6 2.4.1 即时发布JWS(JavaWebService ). 6 2.4.2 定制发布WSDD.8 2.4.3 取消发布一个 WebService.11 3.WSDD 高级特性12 3.1 WSDD 的高级特性12 3.2 高级特性 Handler.12 3.4 高级特性 Chain.16 3.5 传递复杂对象. 20 3.5.1 List、Map、数组和自定义对象20 3.5.2 带内部类的自定义对象37 3.5.3 RMI 方式远程调用.57 3.6 抛出异常. 60 3.7 传递文件. 67 4.AX

7、IS 的常用的命令和调试工具的使用.72 4.1 AXIS 的常用命令:.72 4.2 调试工具的使用. 72 5后话74 Axis1.4 开发指南 第 3 页 共 75 页 1.WebService1.WebService1.WebService 1.WebService 简介简介简介 简介 1.11.11.1 1.1 WebServiceWebServiceWebService WebService 介绍介绍 WebService 让一个程序可以透明地调用互联网的程序,不用管具体的实现细节。只要 WebService公开了服务接口,远程客户端就可以调用服务。 WebService是基于ht

8、tp 协议的组件 服务,WebService 是分散式应用程序的发展趋势。 1.21.21.2 1.2 WebServiceWebServiceWebService WebService 的开源实现的开源实现 WebService 更多是一种标准,而不是一种具体的技术。不同的平台,不同的语言大都提供 WebService 的开发实现。在JAVA领域,WebService的框架很多,例如:Axis1 System.out.println(“Received: “ + result); returnreturnreturn return “Server Response OK, you send:

9、 “ + result; 把HelloWorldJWS.java文件改成HelloWorldJWS.jws然后拷贝到%TOMCAT_HOME%webappsaxis 目录下,启动Tomcat 之后访问http:/localhost:8080/axis/HelloWorldJWS.jws如果能看到 Click to see the WSDL这个超链接,就说明已经发布成功了。点击进去就可以看到这个 WebService的WSDL描述文件。Server端的发布已经完成了,接下来就是编写Client端测试代码 了。 客户端: Java代码: importimportimport import java

10、.rmi.RemoteException; importimportimport import javax.xml.namespace.QName; importimportimport import javax.xml.rpc.ServiceException; importimportimport import org.apache.axis.client.Call; importimportimport import org.apache.axis.client.Service; publicpublicpublic public classclassclass class Client

11、JWS /* * paramparamparam param args Axis1.4 开发指南 第 8 页 共 75 页 */ publicpublicpublic public staticstaticstatic static voidvoidvoid void main(String args) trytrytry try String url = “http:/127.0.0.1:8080/myaxis/HelloWorldJWS.jws“; Service serv = newnewnew new Service(); Call call = (Call) serv.createC

12、all(); call.setTargetEndpointAddress(url); call.setOperationName(newnewnew new QName(url, “test“); String result = (String) call.invoke(newnewnew new Object“Quahilong“, 100); System.out.println(“result = “ + result); catchcatchcatch catch (ServiceException e) e.printStackTrace(); catchcatchcatch cat

13、ch (RemoteException e) e.printStackTrace(); 测试代码很简单,如果熟悉java反射机制的朋友不用两分钟就能看明白。运行后客户端控制台 出现以下运行结果。果然很简单吧,不过在这简单背后却是以牺牲灵活性为代价的。 运行结果: 客户端: result = Server Response OK, you send: a=Quahilong, b=100 注意:假如你现在手里只有.class 或者一个 jar 包,jws 就不再能满足你的需求了,最要命的就 是即时发布不支持带包的类,这点 AXIS 的用户手册上写的也很明白。 2.4.22.4.22.4.2 2.

14、4.2 定制发布定制发布定制发布 定制发布 WSDDWSDDWSDD WSDD 比起即时发布,定制发布更加烦琐也更复杂,但是换来的却是更大的灵活性,因此在实际 项目中定制发布还是不二的选择。 定制发布需要你自己编写一个WSDD(Web Service Deployment Descriptor)文件,其实就是一个XML描述文件,稍后会做出介绍。废话不多说,我们来看代码 : 服务端: Java代码: Axis1.4 开发指南 第 9 页 共 75 页 packagepackagepackage package webservice.axis.wsdd; publicpublicpublic pu

15、blic classclassclass class HelloWorldWSDD privateprivateprivate private intintint int requestCount = 0; publicpublicpublic public String hello(String name) requestCount+; System.out.println(“requestCount=“ + requestCount); System.out.println(“Received: “ + name); returnreturnreturn return “Hello “ +

16、 name; publicpublicpublic public Float add(Float a, floatfloatfloat float b) requestCount+; String result = “a=“ + a + “, b=“ + b; System.out.println(“requestCount=“ + requestCount); System.out.println(“Received: “ + result); returnreturnreturn return a + b; 一个带包的很简单的类, 在eclipse 下编译后按照包名拷到%TOMCAT_HOME%webappsaxisWEB- INFclasses目录下。 以 这 个 类 为 例 , 拷 贝 完 之 后 这 个 HelloWorldWSDD.class 的 路 径 就 是 %TOMCAT_HOME%webappsaxisWEBINF

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号