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

下载本文档

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

文档简介

首先,介绍一下几种常用的webservice开发框架的开发步骤。Net环境IDE为MicrosoftVisualStudio2005服务器端开发步骤为:1、 新建一个WebSite,选择ASP.NetWebService,语言选择C#2、 在IDE自动生成的服务器端代码App_Code/Service.cs中加入自己的业务逻辑代码3、 选中WebSite,右键选择“ViewinBrowser"即可进行测试VS2005自带有内嵌的测试web服务器,测试起来非常方便。注意Service.asmx为webservice发布后的访问入口文件。要发布到IIS或者apache中,需要先选中WebSite,右键选择“PublishWebSite",指定发布的目录,即对应的web服务器发布应用的目录。客户端开发步骤:1、 新建一个ConsoleApplication2、 选中工程,右键选择“AddWebReference",指定可访问的webservice的URL地址,进行添加3、 引入命名空间,即可方便使用客户端存根代码。Java环境CXFCXF的前身是Xfire,具体内容可参照/

服务器端开发步骤为:1、 首先访问/cxf/下载所需的jar包。2、 新建一个web工程,将下载的CXF的开发包加入到lib中。3、 在web.xml文件中添加提供webservice的监听servlet,对应的处理类名为org.apache.cxf.transport.servlet.CXFServlet,并设置其启动时装载顺序属性为1;指定访问servlet的URL格式。内容可参考如下所示:<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.5"xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd"><!--cxfservletconfiguration——><servlet><servlet-name>CXFServlet</servlet-name〉<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping〉<servlet-name>CXFServlet</servlet-name〉<url-pattern>/services/*</url-pattern></servlet-mapping></web-app>4、新建一个services.xml配置文件,内容如下所示:<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:jaxws="/jaxws"xmlns:simple="/simple"xmlns:soap="/bindings/soap"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.0.xsd/bindings/soap/schemas/configuration/soap.xsd/simple/schemas/simple.xsd/jaxws/schemas/jaxws.xsd"><importresource="classpath:META-INF/cxf/cxf.xml"/><importresource="classpath:META-INF/cxf/cxf-extension-soap.xml"/><importresource="classpath:META-INF/cxf/cxf-servlet.xml"/><beanid="notifyService"class="bingo.mcs.service.ws.NotifyService"/><jaxws:endpointid="NotifyService"implementor="#notifyService"address="/NotifyService"/></beans>在如上的配置文件中,我们指定了要发布为webservice的类名,访问地址,访问端点标识。5、编写要发布为webservice的类和接口,注意注解(annotation)的使用。可参照如下的代码:packagecom.webservice;importjavax.jws.WebService;//接口类:@WebServicepublicinterfaceINotifyService{publicvoidsayHello(Stringname);}//实现类:packagecom.webservice;@WebServicepublicclassNotifyServiceimplementsINotifyService{publicvoidsayHello(Stringname){System.out.println(“hello,”+name);6、 向lib包中加入Spring的开发包,并确保classpath下有对应的bean定义文件,例如beans.xml。<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN//EN""/dtd/spring-beans-2.0.dtd"><beans></beans>7、 发布web应用到对应的web容器(例如tomcat5.5)或者用内嵌的Jetty6.0进行部署。客户端的开发步骤:这里介绍通过wsdl文件生成客户端存根代码的方式,前提是要先下载CXF的工具包。1、编辑Ant脚本,可参照如下配置:<?xmlversion="1.0"?><projectname="wsdl2java"basedir="."><description>用于通过wsdl文件生成java代码的ant文件</description>

<propertyname="cxf.home"location="E:/2008/cxf\apache-cxf-2.0.3-incubator"/><pathid="cxf.classpath"><filesetdir="${cxf.home}/lib"><includename="*.jar"/></fileset></path><targetname="cxfWSDLToJava"><javaclassname="org.apache.cxf.tools.wsdlto.WSDLToJava"fork="true"〉<argvalue="-client"/><argvalue="-d"/><argvalue="src/main"/><argvalue="WebService.wsdl"/><classpath><pathrefid="cxf.classpath"/></classpath></java></target></project>上面的WebService.wsdl为服务器端webservice对应的wsdl文件。2、运行Ant脚本生成客户端存根代码,将代码和依赖的CXF包引入到自己的工程即可使用。NetBeans

由于Sun已经在J2EE5.0中提供了对Jax-ws规范的实现,并且提供了NetBeansIDE对J2EE5.0的支持,使得开发webservice非常简单。前提条件是我们需要到http://www.ne/下载NetBeans6.0。官方的下载文件中已经集成了Tomcat6.0和J2EE5.0。服务器端开发步骤:1、 打开NetBeansIDE,新建一个WebAppLication2、 选中WebApplication,右键选择“New WebService",按照向导和图形界面新建自己的webservice。注意对Jax-ws中注解的使用,可参照如下代码:packagecom.webservice;importjava.util.Calendar;importjavax.jws.WebMethod;importjavax.jws.WebParam;importjavax.jws.WebService;importjavax.xml.ws.Holder;@WebService()publicclassnotify{@WebMethod(operationName=〃SendSMS〃)publicbooleanSendSMS(

@WebParam(name=""userID"")StringuserID,@WebParam(name=""systemID"")StringsystemID,@WebParam(name=""content"")Stringcontent,@WebParam(name=""sendSMSID"")StringsendSMSID){//TODOwriteyourimplementationcodehere:System.out.println(userID);System.out.println(systemID);System.out.println(content);System.out.println(sendSMSID);returnfalse;}@WebMethod(operationName=""ReceiveSMS"")publicnet.gmcc.sz.eap.WebService.SMSResponse[]ReceiveSMS(@WebParam(name=""systemID"")StringsystemID,@WebParam(name=""autoClose")booleanautoClose){//TODOwriteyourimplementationcodehere:System.out.println(systemID);System.out.println(autoClose);SMSResponse[]responses=newSMSResponse[3];for(inti=0;i<3;i++){SMSResponseresp二newSMSResponseO;resp.setContent("content:"+i);resp.setSendSMSID("sendSMSID:"+i);resp.setReceivedSMSID("receivedSMSID"+i);responses"]二resp;}returnresponses;}@WebMethod(operationName="SendSMS_Time")publicbooleanSendSMSTime(@WebParam(name="userID")StringuserID,@WebParam(name="systemID")StringsystemID,@WebParam(name="content")Stringcontent,@WebParam(name="sendTime")CalendarsendTime,@WebParam(name="sendSMSID")StringsendSMSID){//TODOwriteyourimplementationcodehere:System.out.println(userID);System.out.println(systemID);System.out.println(content);System.out.println(sendTime);System.out.println(sendSMSID);returnfalse;@WebMethod(operationName=""sendByteData〃)publicbooleansendByteData(@WebParam(name=""data〃)byte[]data){//TODOwriteyourimplementationcodehere:System.out.println(newString(data));returnfalse;}/***Webserviceoperation*/@WebMethod(operationName=""sendRefParameter"")publicStringsendRefParameter(@WebParam(name=""content"",mode=WebParam.Mode.INOUT)Holder<String>content){//TODOwriteyourimplementationcodehere:content,value="serverreceived";System.out.println(content.value);returncontent,value;客户端开发:

1、 打开NetBeansIDE,新建一个JavaApplication2、 选中JavaApplication,右键Newwebserviceclient,按照向导完成3、 在生成的Main类的方法中,右键 >Webserviceclientresource >Callwebserviceoperation,按照向导完成4、 设置调用参数的初始值,完成客户端的调用代码Axis这里简单介绍一下Axisl.x版本的使用方法。服务器端开发:1、 到/axis/下载所需的lib包2、 将lib包中的jar包路径设置到classpath中3、 启动web服务器,发布下载包中的web应用axis;访问http://:8080/axis/测试是否访问正常4、 编写deploy.wsdd文件,参照下面:〈deploymentxmlns="/axis/wsdd/"xmlns:java="/axis/wsdd/providers/java"><servicename二"MyService"provider二"java:RPC"><parametername二"className"value二"samples.userguide.example3.MyService"/><parametername二"allow

温馨提示

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

评论

0/150

提交评论