webservice开发总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
webservice开发总结
webservice开发总结
webservice开发总结
一、环境说明
服务器:tomcat5.0.28
jdk1.5
apachesoa:axis1.4eclipse3.3
二、axis安装
1.将axis1.4/webapps/axis解压到tomcat/webapps目录下
2.将jdk中tools.jar包拷贝到axis/WEB-INF/lib目录下3.然后启动tomcat 4.输入:8080/axis回车出现如下画面,证明成功
打开validataion然后,页面上的信息会告诉你已经有的包和还要差的包,然后根据提示将必须的包下载全。复制
到%tomcathome%/webapps/axis/WEB-INF/lib/目录下。
三、创建webservice工程
1.在eclipse下创建一个普通的web工程
2.将刚才发布成功的axis工程替换新创建的工程
3.编写服务端代码,如下: packagecom;
publicclassHelloService{
publicStringgetName(Stringname){}
} return”hello---------------------”+name;
四、编写deplo.wsdd发布服务
className表示类名
allowedMethods表示要发布的方法,*表示所有方法
然后编写deploy.bat脚本发布服务
然后执行脚本
deploy.wsdd和deploy.bat两个文件都放在工程目录下的/WEB-INF/目录下
执行bat之后会生成一个server-config.wsdd文件
需要注意的是,此bat文件需要在tomcat/webapps/axis/WEB-INF/目录下执行才会成功。也就是说必须在服务器下执行才会生成server-config.wsdd文件。然后重启tomcat
输入:8080/axis/services便可以看到部署的服务了
五、编写动态客户端调用程序
importorg.apache.axis.client.Call;importorg.apache.axis.client.Servic e;
try{
Stringendpoint=
“:8080/axis/services/HelloService”;
} Serviceservice=newService();Callcall=null;
call=(Call)service.createCall();call.setOperationName(“getName”);
call.setTargetEndpointAddress(.URL(endpoint));Stringstr=(S tring)call.invoke(newObject[]{“你爸
爸”});System.out.println(str);ex.printStackTrace();
}catch(Exceptionex){
六、stub客户端调用
stub调用方式,是用服务生成的wsdl文件,通过axis的wsdl2java工具生成客户端代码
来调用服务的。以下是wsdl2java脚本,可生成客户端代码。
Axis_libaxis环境
Output_path生成的客户端代码的输出路径Package对输出的代码打包
:8080/axis/services/HelloService?wsdl是wsdl文件的位置,如果你已经有了wsdl文件,可以直接指定为wsdl文件
wsdl文件的可以从服务中获得,如下图
单击wsdl,便会生成wsdl文件
七、jws客户端调用
此客户端调用方式只适用java程序。
1.先将写好的服务端java类复制到webroot目录下
2.然后将java文件改为.jws例如:
xxx.java文件xxx..jws客户端调用如下:
注意:此调用方式不要将类打包,直接放在根目录下即可。(打包的问题还没有研究出来)系统会在WEB-INF目录下生成一个jwsClasses文件夹,jws生成的class文件会产生在此目录下。
扩展阅读:WebService学习,开发总结--唐木之无线观察
WebService学习,开发总结--唐木之无线观察
发布时间:20xx-7-16阅读:123
原文地址:
基本概念:
1,什么是Web服务?
Web是使应用程序可以以与平台和编程语言无关的方式进行相互通信的一项
技术。Web服务是一个软件接口,它描述了一组可以在网络上通过标准化的XML 消息传递访问的操作。它使用基于XML语言的协议来描述要执行的操作或者要与另一个Web服务交换的数据。一组以这种方式交互的Web服务在面向服务的体系结构(Service-OrientedArchitecture,SOA)中定义了特殊的Web服务应用程序。2,什么是SOAP?
SOAP(SimpleObjectAccessProtocol)简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的轻量级协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一种语言相互通信。
SOAP包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(encodingrules),用于表示应用程序需要使用的数据类型的实例;SOAPRPC表示(RPCrepresentation),表示远程过程调用和应答的协定;SOAP绑定(binding),使用底层协议交换信息。
应用中比较关注的是envelop,由一个或多个Header和一个Body组成。SOAP 在可互操作的基础Web服务协议栈中的位置:
3,什么是Axis?
Axis本质上就是一个SOAP引擎(ApacheAxisisanimplementationoftheSOAP),提供创建服务器端、客户端和网关SOAP操作的基本框架。但Axis并不完全是一个SOAP引擎,它还包括: