axis2+Tomcat55+Eclipse32部署和访问Web服务.docx

上传人:b****9 文档编号:23383542 上传时间:2023-05-16 格式:DOCX 页数:14 大小:391.95KB
下载 相关 举报
axis2+Tomcat55+Eclipse32部署和访问Web服务.docx_第1页
第1页 / 共14页
axis2+Tomcat55+Eclipse32部署和访问Web服务.docx_第2页
第2页 / 共14页
axis2+Tomcat55+Eclipse32部署和访问Web服务.docx_第3页
第3页 / 共14页
axis2+Tomcat55+Eclipse32部署和访问Web服务.docx_第4页
第4页 / 共14页
axis2+Tomcat55+Eclipse32部署和访问Web服务.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

axis2+Tomcat55+Eclipse32部署和访问Web服务.docx

《axis2+Tomcat55+Eclipse32部署和访问Web服务.docx》由会员分享,可在线阅读,更多相关《axis2+Tomcat55+Eclipse32部署和访问Web服务.docx(14页珍藏版)》请在冰豆网上搜索。

axis2+Tomcat55+Eclipse32部署和访问Web服务.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 成人教育 > 专升本

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

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