axis2+Tomcat55+Eclipse32部署和访问Web服务.docx
- 文档编号:23383542
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:14
- 大小:391.95KB
axis2+Tomcat55+Eclipse32部署和访问Web服务.docx
《axis2+Tomcat55+Eclipse32部署和访问Web服务.docx》由会员分享,可在线阅读,更多相关《axis2+Tomcat55+Eclipse32部署和访问Web服务.docx(14页珍藏版)》请在冰豆网上搜索。
axis2+Tomcat55+Eclipse32部署和访问Web服务
axis2+Tomcat5.5+Eclipse3.2部署和访问Web服务
部署并访问一个Web服务,部署环境:
axis2+Tomcat5.5+Eclipse3.2来部署和访问Web服务,步骤如下:
1.从http:
//apache.justdn.org/ws/axis2/1_1_1/下载axis2-1.1.1.zip
解压到C:
\JavaPlatform\axis2
2.执行C:
\JavaPlatform\axis2\bin\axis2server.bat
3.用ant命令执行C:
\JavaPlatform\axis2\webapp下的build.xml,执行完后会在目录
C:
\JavaPlatform\axis2\dist下产生axis2.war,将axis2.war包拷贝到tomcat安装目录下的webapps目录。
启动Tomcat,打开浏览器输入并访问:
http:
//127.0.0.1:
8080/axis2来查看,结果如下图,表示axis2已经工作正常。
4.下载AxisEclipseplug-in(代码生成工具和打包工具):
http:
//apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-codegen-wizard.zip
http:
//apache.justdn.org/ws/axis2/tools/1_1_1/axis2-eclipse-service-archiver-wizard.zip
解压到eclipse主目录的plugins下,启动Eclipse后,File?
New?
Other会发现多了如下两项:
5.在Eclispse中添加一个用户库命名为axis2,将axis2\lib下的包均添加进来。
6.建立一个JavaProject命名为AccountService,将axis2用户库加入到buildpath中。
项目存放路径先Tomcat的webapps下。
在project中建立WEB-INF,META-INF两个web项目常用目录及子目录和文件,并建立资源存放文件夹src。
并将WEB-INF\classes设置为编译文件输出位置。
7.现在开始编写要发布的WebSevice,在src中建包account,建立AccountOper类如下:
packageaccount;
publicclassAccountOper{
privatestaticint[]fund={10000,500,700,5800};
publicstaticintaccountID=0;//in{0,1,2}
publicbooleansetAccountID(intid){
if(id<0||id>fund.length)
returnfalse;
this.accountID=id;
returntrue;
}
publicbooleancheckInput(intmoney)
{
if(money>fund[accountID]){
returnfalse;
}else{
returntrue;
}
}
//deposit
publicintdeposit(intmoney)
{
fund[accountID]=fund[accountID]+money;
returnfund[accountID];
}
//withdraw
publicintwithdraw(intmoney){
if(checkInput(money)){
fund[accountID]=fund[accountID]-money;
}
returnfund[accountID];
}
publicintgetAccount(){
returnfund[accountID];
}
}
8.在META-INF下建立services描述文件services.xml如下:
locked="false">account.AccountOper 9.打包要发布的Service,Eclipse中New-->File-->Other-->Axis2wizards--> Axis2ServicesArchiver,按照向导选择刚建立的类编译后的class文件和services.xml文件。 1》、选择class文件目录,注意,不是java源文件,而是WEB-INF\classes目录, 2》、连按两次下一步,选择service.xml文件, 3》、按下一步,输入service文件的保存路径和文件名,完成。 这里将保存路径设为D盘,文件名为AccountService.jar,按完成保存成功,然后修改后缀为aar(也可不修改),将其拷贝到Tomcat5.5\webapps\axis2\WEB-INF\services目录下,重新打开http: //127.0.0.1: 8080/axis2/services/listService就会发现AccountService已经发布成功,现在就可以应用这个Web服务了。 10.Eclipse中New-->File-->Other-->Axis2wizards-->Axis2CodeGenerator,按向导通过javasource文件,即AccoutOper.class生成WSDL文件。 1》选择GenerateaWSDLfromaJavasourcefile,按下一步 2》、填入class文件的包及文件名,我这是account.AccountOper,然后按AddFolder增加AccountOper.class的所在目录路径,按TestClassLoading..按钮测试是否成功装载这个类文件,若未装载成功请检查包名、类名和路径是否正确。 3》、按下一步,这里的参数设置我们不用管它,用默认的就行了。 4》、选择wsdl文件的保存位置及确定wsdl文件的文件名AcountServices.wsdl,按完成,WSDL文件生成成功。 11、通过WSDL文件生成AccountServiceCallbackHandler.java和AccountServiceStub.java,可以重新建立Project,我在做的过程中为了方便仍利用刚才建立的Project. 1》、New-->File-->Other-->Axis2wizards-->Axis2CodeGenerator 2》、选择GenerateJavasourcecodefromaWSDLfile,按下一步 3》、按Browse选择wsdl文件,按下一步 4》、使用默认的配置,按下一步。 5》、选择生成文件的存放路径,完成AccountServiceCallbackHandler.java和AccountServiceStub.java的生成。 6》、在工程目录按F5刷新,就可以看到刚生成的文件,但提示都有错误,这是因为包名不一样。 解决方法是将生成的两个文件直接移动到account包下,如图: 11.编写服务测试程序AccountTest.java如下: packageaccount; publicclassAccountTest{ publicstaticvoidmain(String[]args)throwsException{ //TODOAuto-generatedmethodstub Stringendpoint= "http: //localhost: 8080/axis2/services/AccountService"; AccountServiceStubstub=newAccountServiceStub(endpoint); AccountServiceStub.SetAccountIDset=newAccountServiceStub.SetAccountID(); set.setId (2); stub.setAccountID(set); AccountServiceStub.GetAccountResponseget=stub.getAccount(); System.out.println("Current: "+get.get_return()); AccountServiceStub.Depositdep=newAccountServiceStub.Deposit(); dep.setMoney(120); AccountServiceStub.DepositResponsedepRes=stub.deposit(dep); System.out.println("AfterDeposit120: "+depRes.get_return()); AccountServiceStub.Withdrawdraw=newAccountServiceStub.Withdraw(); draw.setMoney(50); AccountServiceStub.WithdrawResponsedrawRes=stub.withdraw(draw); System.out.println("AfterWithdraw50: "+drawRes.get_return()); AccountServiceStub.GetAccountResponsegetLast=stub.getAccount(); System.err.println("Atlast: "+getLast.get_return()); } } 运行结果如下: 测试成功 官方文檔非常多及齊全,若想進一步了解,需要花更長的時間: http: //ws.apache.org/axis2/1_0/index.html Axis2的文檔及教學非常充足.官方文檔如下連結: http: //ws.apache.org/axis2/1_0/index.html Axis2官方的安裝教學: http: //ws.apache.org/axis2/1_0/installationguide.html Axis2用戶指南: http: //ws.apache.org/axis2/1_0/userguide.html Axis2WEBAdministration介面的使用教學: http: //ws.apache.org/axis2/1_0/webadminguide.html Axis2的設定文檔: http: //ws.apache.org/axis2/1_0/axis2config.html AXIOM(AxisObjectModel)教學: http: //ws.apache.org/axis2/1_0/OMTutorial.html Axis2Eclipseplugin教學: http: //ws.apache.org/axis2/tools/1_0/eclipse/wsdl2java-plugin.html
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- axis2 Tomcat55 Eclipse32 部署 访问 Web 服务