发布WebService常用框架.doc_第1页
发布WebService常用框架.doc_第2页
发布WebService常用框架.doc_第3页
发布WebService常用框架.doc_第4页
发布WebService常用框架.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

首先,介绍一下几种常用的web service开发框架的开发步骤。Net环境IDE为Microsoft Visual Studio2005 服务器端开发步骤为:1、 新建一个Web Site,选择ASP.Net Web Service,语言选择C#2、 在IDE自动生成的服务器端代码App_Code/Service.cs中加入自己的业务逻辑代码3、 选中Web Site,右键选择“View in Browser”即可进行测试VS2005自带有内嵌的测试web服务器,测试起来非常方便。注意Service.asmx为web service发布后的访问入口文件。要发布到IIS或者apache中,需要先选中Web Site,右键选择“Publish Web Site”,指定发布的目录,即对应的web服务器发布应用的目录。 客户端开发步骤:1、 新建一个Console Application2、 选中工程,右键选择“Add Web Reference”,指定可访问的web service的URL地址,进行添加3、 引入命名空间,即可方便使用客户端存根代码。Java环境CXFCXF的前身是Xfire,具体内容可参照/ 。IDE为Eclipse 3.2 (JDK 1.5以上) 服务器端开发步骤为:1、 首先访问/cxf/ 下载所需的jar包。2、 新建一个web工程,将下载的CXF的开发包加入到lib中。3、 在web.xml 文件中添加提供web service的监听servlet,对应的处理类名为org.apache.cxf.transport.servlet.CXFServlet,并设置其启动时装载顺序属性为1;指定访问servlet的URL格式。内容可参考如下所示:CXFServletorg.apache.cxf.transport.servlet.CXFServlet1CXFServlet/services/*4、 新建一个services.xml配置文件,内容如下所示: 在如上的配置文件中,我们指定了要发布为web service的类名,访问地址,访问端点标识。5、 编写要发布为web service的类和接口,注意注解(annotation)的使用。可参照如下的代码:package com.webservice;import javax.jws.WebService;/接口类:WebServicepublic interface INotifyService public void sayHello(String name);/实现类:package com.webservice;WebServicepublic class NotifyService implements INotifyService public void sayHello(String name) System.out.println(“hello,”+name); 6、 向lib包中加入Spring的开发包,并确保classpath下有对应的bean定义文件,例如beans.xml。7、 发布web应用到对应的web容器(例如tomcat5.5)或者用内嵌的Jetty6.0进行部署。 客户端的开发步骤:这里介绍通过wsdl文件生成客户端存根代码的方式,前提是要先下载CXF的工具包。1、 编辑Ant脚本,可参照如下配置:用于通过wsdl文件生成java代码的ant文件上面的WebService.wsdl为服务器端web service对应的wsdl文件。2、 运行Ant脚本生成客户端存根代码,将代码和依赖的CXF包引入到自己的工程即可使用。NetBeans由于Sun已经在J2EE5.0中提供了对Jax-ws规范的实现,并且提供了NetBeans IDE对J2EE5.0的支持,使得开发web service非常简单。前提条件是我们需要到/ 下载NetBeans 6.0。官方的下载文件中已经集成了Tomcat6.0和J2EE5.0。 服务器端开发步骤:1、 打开NetBeans IDE,新建一个 Web Application2、 选中Web Application,右键选择“New Web Service”,按照向导和图形界面新建自己的web service。注意对Jax-ws中注解的使用,可参照如下代码:package com.webservice;import java.util.Calendar;import javax.jws.WebMethod;import javax.jws.WebParam;import javax.jws.WebService;import javax.xml.ws.Holder;WebService()public class notify WebMethod(operationName = SendSMS) public boolean SendSMS( WebParam(name = userID) String userID, WebParam(name = systemID) String systemID, WebParam(name = content) String content, WebParam(name = sendSMSID) String sendSMSID) /TODO write your implementation code here: System.out.println(userID); System.out.println(systemID); System.out.println(content); System.out.println(sendSMSID); return false; WebMethod(operationName = ReceiveSMS) public net.gmcc.sz.eap.WebService.SMSResponse ReceiveSMS( WebParam(name = systemID) String systemID, WebParam(name = autoClose) boolean autoClose) /TODO write your implementation code here: System.out.println(systemID); System.out.println(autoClose); SMSResponse responses=new SMSResponse3; for(int i=0;i3;i+) SMSResponse resp=new SMSResponse(); resp.setContent(content:+i); resp.setSendSMSID(sendSMSID:+i); resp.setReceivedSMSID(receivedSMSID+i); responsesi=resp; return responses; WebMethod(operationName = SendSMS_Time) public boolean SendSMSTime( WebParam(name = userID) String userID, WebParam(name = systemID) String systemID, WebParam(name = content) String content, WebParam(name = sendTime) Calendar sendTime, WebParam(name = sendSMSID) String sendSMSID) /TODO write your implementation code here: System.out.println(userID); System.out.println(systemID); System.out.println(content); System.out.println(sendTime); System.out.println(sendSMSID); return false; WebMethod(operationName = sendByteData) public boolean sendByteData( WebParam(name = data) byte data) /TODO write your implementation code here: System.out.println(new String(data); return false; /* * Web service operation */ WebMethod(operationName = sendRefParameter) public String sendRefParameter( WebParam(name = content, mode = WebParam.Mode.INOUT) Holder content) /TODO write your implementation code here: content.value = server received; System.out.println(content.value); return content.value; 客户端开发:1、 打开NetBeans IDE,新建一个Java Application2、 选中Java Application,右键New web service client,按照向导完成3、 在生成的Main类的方法中,右键Web service client resourceCall webservice operation,按照向导完成4、 设置调用参数的初始值,完成客户端的调用代码Axis这里简单介绍一下Axis1.x版本的使用方法。 服务器端开发:1、 到/axis/ 下载所需的lib包2、 将lib包中的jar包路径设置到classpath中3、 启动web服务器,发布下载包中的web应用axis;访问:8080/axis/测试是否访问正常4、 编写deploy.wsdd文件,参照下面: 5、 使用命令行进行部署:java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp:/localhost:8080/axis/services/AdminService deploy.wsdd 客户端开发:1、 下载lib包,加入到classpath2、 获得发布为webservice的wsdl文件3、 使用命令行生成客户端存根代码:java org.apache.axis.wsdl.WSDL2Java webservice.wsdl4、 将存根代码导入工程,引入依赖的lib包即可使用。比较 开发过程比较1、 NetBeans IDE基本可以与.Net的开发工具VS 2005相媲美,后者有内嵌的测试服务器,前者也可以使用内嵌的glassfish。2、 CXF相对而言也比较简单(依赖于与Spring的集成),Axis要更复杂些,且难以掌握 性能比较1、 CXF对于大数据量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论