手把手教你用axis创建自己的webservice(五)
?好了现在我们将webservice的实现代码发布到tomcat的axis web应用中。如将你的代码拷贝到axis/WEB-INF/classes下<o:p></o:p>
进入你的deploy.wsdd所在目录。<o:p></o:p>
cd C:\tomcat5\webapps\axis\WEB-INF\classes\com\yy\ws<o:p></o:p>
输入如下命令:<o:p></o:p>
C:\tomcat5\webapps\axis\WEB-INF\classes\com\yy\ws>?? java???? org.apache.axis.client.AdminClient? deploy.wsdd<o:p></o:p>
AdminClient? -一个axis发布工具,会自动地将你的webservice发布到WEB-INF下的server-config.wsdd文件中。如果显示:<o:p></o:p>
Processing file deploy.wsdd
<Admin>Done processing</Admin><o:p></o:p>
则表示发布成功!<o:p></o:p>
?????? 好了,现在我们已经完成了创建和发布过程,接下来我们来进行最后一步工作——调用我们写的webservice!<o:p></o:p>
????? <o:p></o:p>
java 代码<o:p></o:p>
1.????????? package?com.yy.ws.test; ??<o:p></o:p>
2.????????? ??<o:p></o:p>
3.????????? import?java.net.MalformedURLException; ??<o:p></o:p>
4.????????? import?java.rmi.RemoteException; ??<o:p></o:p>
5.????????? ??<o:p></o:p>
6.????????? import?javax.xml.rpc.ServiceException; ??<o:p></o:p>
7.????????? ??<o:p></o:p>
8.????????? import?com.yy.ws.ClientRequest; ??<o:p></o:p>
9.????????? import?com.yy.ws.MobileBoss; ??<o:p></o:p>
10.?????? import?com.yy.ws.MobileBossService; ??<o:p></o:p>
11.?????? import?com.yy.ws.MobileBossServiceLocator; ??<o:p></o:p>
12.?????? import?com.yy.ws.ServerResponse; ??<o:p></o:p>
13.?????? ??<o:p></o:p>
14.?????? public?class?Test?{ ??<o:p></o:p>
15.?????? ????public?static?void?main(String?args[])?throws?ServiceException,?MalformedURLException,?RemoteException{ ??<o:p></o:p>
16.?????? ????????ClientRequest?req?=?new?ClientRequest(); ??<o:p></o:p>
17.?????? ????????req.setAmount(1000); ??<o:p></o:p>
18.?????? ????????req.setOpType("charge"); ??<o:p></o:p>
19.?????? ????????req.setPhoneNumber("13912345678"); ??<o:p></o:p>
20.?????? ????????MobileBossService?sl?=?new?MobileBossServiceLocator(); ??<o:p></o:p>
21.?????? ????????//URL?url?=?new?URL("http://localhost:8080/axis/services/MobileBoss"); ??<o:p></o:p>
22.?????? ????????//s.getMobileBoss(url); ??<o:p></o:p>
23.?????? ????????MobileBoss?mb?=?sl.getMobileBoss();//default?port ??<o:p></o:p>
24.?????? ????????ServerResponse?resp?=?mb.charge(req); ??<o:p></o:p>
25.?????? ????????System.out.println("client?result:"+resp.getResultCode()+"\nclient?message:"+resp.getMessage()); ??<o:p></o:p>
26.?????? ????} ??<o:p></o:p>
27.?????? } ??<o:p></o:p>
?结果如下:<o:p></o:p>
服务器端显示:<o:p></o:p>
13912345678|charge|1000
13912345678is charged successfully!<o:p></o:p>
客户端显示:<o:p></o:p>
client result:8888<o:p></o:p>
client message:13912345678|charge|1000<o:p></o:p>
????? 服务器段成功返回消息,大功告成!不是很难吧?!这篇文章的所有代码我都测试过,全部可以直接使用。希望能够对大家有所帮助。<o:p></o:p>
public class OrgBean{ private String orgName; ... private List subOrgs; public void setSubOrgs(List par){ subOrgs = par; } public List getSubOrgs(){ return subOrgs; } }package com.admin.webservices; public class AdminOrgService { //简单说明 public OrgBean getOrgBean() { return new OrgBean(); } }