ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:336.12KB ,
资源ID:3998340      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3998340.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(在eclipse用axis插件开发websservice步骤.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

在eclipse用axis插件开发websservice步骤.docx

1、在eclipse用axis插件开发websservice步骤说明及约定: 本文主要描述如何使用Apache开源项目Axis提供的API来实现Web Services。本文中的提到的例子只为了方便本文的描述而提出,有不妥之处请见谅。 本文的读者应有JAVA web 应用开发基础。应该具有看过WSDL,SOAP,XML等的基本规范。熟悉Eclipse+MyEclipse开发环境。 本文可以随意转载使用,但是要保留作者的署名。一、环境准备使用Axis来开发Web services 需要准备 web 服务器,Axis API。本文使用的Web container 是Tomcat5.5, Axis AP

2、I 采用版本2。1.1软件下载准备Tomcat下载地址:http:/tomcat.apache.org/download-55.cgi#5.5.20Axis标准包:http:/ftp.wayne.edu/apache/ws/axis2/1_0/axis2-std-1.0-bin.zipAxis War包:http:/ftp.wayne.edu/apache/ws/axis2/1_0/axis2.warAxis Eclipse plug-in(代码生成工具和打包工具):http:/apache.justdn.org/ws/axis2/tools/1_0/Axis2_Code_Generator.

3、ziphttp:/apache.justdn.org/ws/axis2/tools/1_0/Axis2_Service_Archiver.zipEclipse+MyEclipse:可以到官方网站下载(本文为3.25.0GA)1.2安装A.首先搭建开发环境,需要将下载到的Eclipse解压缩到一个目录。B.将下载到的Axis 的两个plug-in解压缩到Eclipse安装目录下的plug-in子目录。C.安装MyEclipse5.0GA。然后启动MyEclipse,并选择“File-New-Other”可以找到下面的这些Wizards,这些将是本文中用到的很重要的工具。 D.下面开始搭建Web

4、Services的部署环境。将下载的 tomcat报解压缩到一个目录。完成web container的安装。 E.将axis2.war包拷贝到tomcat安装目录下的webapps 目录中。F.启动Tomcat(windows 下为TOMCA_HOME/bin中的startup.bat;Linux,unix环境为startup.sh文件),打开浏览器输入并访问:http:/ip:port/axis2来查看。(如果没有进行陪孩子文件的修改此地址应该为http:/localhost:8080/axis),如果能看到下面的页面则说明已经安装完成。二、Quick Start环境准备好后,先从一个简单的

5、例子开始。以便对使用Axis来开发Web services的大致流程有个了解。这个例子就是SayHello,请求端输入一个名字字符串,返回的将是一个问候语。例如:输入了Tom,那么返回的事Hi,Tom.How are you?2.1编写WSDLA启动MyEclipse,新建立一个WebApps(File-New-Project-Web Project),给Project Name 为SayHello,其他保持不改变。B选择File-New-Other菜单,进入后找到MyEclipse-Web Services并选择WSDL.C. 选择“src”目录作为“Enter or select the

6、parent folder”的值,“File name”值给定为SayHello.wsdl。点击“Next”进入下一步。D.将目标命名空间设置为“http:/ws.tonyzhangcn.org/SayHello/”.在生成代码的时候一般以这个命名空间为package的名字,例如:org.tonyzhangcn.ws.sayhello。这些值可以按需要设置。E点击“Finish”按钮就可以看到MyEclipse提供的WSDL 设计器的界面了。可以看到设计器为WSDL默认的添加了一个现操作。 即图中的“NewOperation”。现在将其改名为SayHello,如下图: 之后点击设计界面中的“S

7、ource”Tab来查看其代码。如下:可以看到我们定义了一个SayHello的Web Services,她提供了一个SayHello的方法,她能够接受一个String(事实上是tns:SayHelloRequest对象,她对String进行了封装)类型的输入参数SayHelloRequest并返回一个String(事实上是tns:SayHelloResponse对象,她对String进行了封装)类型的SayHelloResponse结果。更多关于WSDL的信息,请参考W3C的规范文档。至此WSDL的编写已经完成。2.2从WSDL生成Java代码A.选择菜单“File-New-Other”,从对

8、话框中选取“Axis2 Wizards”下面的“Axis2 Code Generator”.点击“Next”进入下一个页面,保持“Generate java source code from WSDL file”被选中,点击“Next”进入下一步。B.点击“Browse”来选取存放在src目录下的SayHello.wsdl文件,“Next”进入下一步。设置如下:C.点击“next”进入下一个页面,设置“Output path”为本Project的src目录。点击“finish”后代在SayHello项目上按F5刷新就可以看到有代码生成好了。但是能看到一堆红“x”,这是由于没有将Axis2的ja

9、r包放入class path 中以及源代码的package不为org.tonyzhangcn.ws.sayhello引起的。下面解决这个问题,首先选择“SayHello”项目,并右击选择“Build path-Add External Archives.”,选择上面部署在tomcat中的axis2 web应用WEB-INF/lib目录中的所有jar包。之后右击“src.org.tonyzhangcn.ws.sayhello”项目,选择“Refactor-rename”,做如下修改,并选择OK完成。这个时候发现test.org.tonyzhangcn.ws.sayhello下面的SayHello

10、Test.java仍然存在问题。点击此文件中package 关键子前面的红“x”,会提示有两个选项,我们选择下面的那个。选择public class SayHelloTest前的红“x”,选择第一项。进行完这几个改动之后,生成的代码就没有问题了。其中SayHelloRequest,SayHelloResponse是输入输出参数对象。SayHelloSkeleton是服务端对象,用来编写业务逻辑调用。SayHelloStub是客户端用来定位endpoint(就是发布的Web Services的地址)的类,客户端根据其提供的方法定位Web服务并发起调用SayHelloMessageReceiver

11、InOut是一个实现同步调用的web服务信息转换处理类。Resources目录下的services.xml文件是webservices的描述文件。SayHelloTest是一个客户端的TestCase示例,用户可以根据这个示例来编写自己的客户端调用类。2.3编写业务代码打开SayHelloSKeleton.java文件将其中的实现方法public org.tonyzhangcn.ws.sayhello.SayHelloResponse SayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequest param0)/ Todo fill this wit

12、h the necessary business logicthrow new java.lang.UnsupportedOperationException();改为public org.tonyzhangcn.ws.sayhello.SayHelloResponse SayHello(org.tonyzhangcn.ws.sayhello.SayHelloRequest request)/ Todo fill this with the necessary business logictrySayHelloResponse response = new SayHelloResponse()

13、;response.setSayHelloResponse(Hi,+request.getSayHelloRequest()+.How are you?);return response;catch(UnsupportedOperationException e)throw e;2.4打包A.选择菜单“File-New-Other”,从对话框中选取“Axis2 Wizards”下面的“Axis2 Services Archive”.点击“Next”进入下一个页面。B.选择编译好的class文件所在目录(本项目应该是WebRoot下面WEB-INF/classes),“Next”进入下一步。C.

14、选择WSDL文件所在目录,此处为src目录下的SayHello.wsdl文件。“Next”,再“Next”。选择services.xm文件,本文应该是生成再src/resources下面的services.xml文件。之后选取“Generate the services.xml automatically”,然后再点击一下使其变为非选中状态,之后点击“Back”按钮,再点击一次“Next”。(注意:这里本应该不是这么来回折腾的,但是我的机器上只有这样操作finish按钮才能生效。怀疑这是一个bug,如果读到此文的用户没有这种情况,忽略此提示)D.点击“Next”,将记入最后一个页面,此处有两个

15、选项,一个是输出目录一个是处处文件名称。我这里的输出文件名称给的是SayHello。点击“Finish”完成。2.5部署 A将打包好的文件SayHello.jar(或者可以改名为SayHello.aar),拷贝到Tomcat中已经部署的Axis2应用的WEB-INF/services目录下面。B.启动Tomcat(即点击Tomcat安装目录下的startup.bat,linux或unix下执行startup.sh)。C.打开浏览器,输入http:/ipaddress:port/axis2(一般为http:/localhost:8080/axis2),并点击其中的“services”链接 可以看

16、到SayHello已经被部署。点击SayHello提供的连接可以看到与之对应的WSDL。2.6调用测试A.修改SayHelloTest.java文件中的方法testSayHello的内容为:public void testSayHello() throws java.lang.ExceptionString url=http:/localhost:8080/axis2/services/SayHello;org.tonyzhangcn.ws.sayhello.SayHelloStub stub = new org.tonyzhangcn.ws.sayhello.SayHelloStub(url

17、); / theorg.tonyzhangcn.ws.sayhello.SayHelloRequest request = (org.tonyzhangcn.ws.sayhello.SayHelloRequest) getTestObject(org.tonyzhangcn.ws.sayhello.SayHelloRequest.class);request.setSayHelloRequest(tonyzhangcn);System.out.println(stub.SayHello(request).getSayHelloResponse();/ todo Fill in the para

18、m14 hereassertNotNull(stub.SayHello(request);B.从菜单中选择“RunRun as-JUnit Test”。 可以看到web 服务已经正确的返回了结果。那么,不用TestCase类可以调用WebServices吗?答案是肯定的,我们可以随便些一个带有main方法的类,并仿照SayHelloTest.java中的testSayHello()方法就可以达到调用Web Services的目的了。 在我实际操作工程中,还遇到了两个问题:一个是缺少xalan包中的jar文件,解决办法:从官网下载,添加进lib中就好了一个是在自动产生的JUnit Test类中有两个方法,都要实现,解决办法:可以去掉一个方法。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1