手把手教你用axis创建自己的webservice(五)
好了现在我们将webservice的实现代码发布到tomcat的axis web应用中。如将你的代码拷贝到axis/WEB-INF/classes下
进入你的deploy.wsdd所在目录。
cd C:\tomcat5\webapps\axis\WEB-INF\classes\com\yy\ws
输入如下命令:
C:\tomcat5\webapps\axis\WEB-INF\classes\com\yy\ws> java org.apache.axis.client.AdminClient deploy.wsdd
AdminClient -一个axis发布工具,会自动地将你的webservice发布到WEB-INF下的server-config.wsdd文件中。如果显示:
Processing file deploy.wsdd
Done processing
则表示发布成功!
好了,现在我们已经完成了创建和发布过程,接下来我们来进行最后一步工作——调用我们写的webservice!
java 代码
1. package com.yy.ws.test;
2.
3. import java.net.MalformedURLException;
4. import java.rmi.RemoteException;
5.
6. import javax.xml.rpc.ServiceException;
7.
8. import com.yy.ws.ClientRequest;
9. import com.yy.ws.MobileBoss;
10. import com.yy.ws.MobileBossService;
11. import com.yy.ws.MobileBossServiceLocator;
12. import com.yy.ws.ServerResponse;
13.
14. public class Test {
15. public static void main(String args[]) throws ServiceException, MalformedURLException, RemoteException{
16. ClientRequest req = new ClientRequest();
17. req.setAmount(1000);
18. req.setOpType(“charge”);
19. req.setPhoneNumber(“13912345678″);
20. MobileBossService sl = new MobileBossServiceLocator();
21. //URL url = new URL(“http://localhost:8080/axis/services/MobileBoss”);
22. //s.getMobileBoss(url);
23. MobileBoss mb = sl.getMobileBoss();//default port
24. ServerResponse resp = mb.charge(req);
25. System.out.println(“client result:”+resp.getResultCode()+”\nclient message:”+resp.getMessage());
26. }
27. }
结果如下:
服务器端显示:
13912345678|charge|1000
13912345678is charged successfully!
客户端显示:
client result:8888
client message:13912345678|charge|1000
服务器段成功返回消息,大功告成!不是很难吧?!这篇文章的所有代码我都测试过,全部可以直接使用。希望能够对大家有所帮助。
Tags: Axis
6 Responses to “手把手教你用axis创建自己的webservice(五)”
Leave a Reply
You must be logged in to post a comment.
六月 5th, 2007 at 04:00
我按照你的步骤做下去,前四步都成功执行.但我在最后一步测试时,出现了这样的错误:Exception in thread "main"………哎呀,真是搞不错啊!还望楼主帮助下啊!!!
六月 5th, 2007 at 09:50
上面的那个问题解决了!但又出现了一个这样的问题:
javac Test.java时,出现这样的错误:
Test.java:9:cannot access com.yy.ws.MobileBossServicesLacator.java
file does not contain class :com.yy.ws.MobileBossServicesLacator….但我已成功编译MobileBossServicesLacator啦!请楼主帮助下啊!!
六月 5th, 2007 at 10:00
如果用java -d . Test.java可以编译成功Test.java.但是在运行时,就会出现这样的错误:
Exception in thread"main" AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
….
郁闷啊呀!!!!
六月 5th, 2007 at 10:24
如果用另一种方法编译时.又出现了一个这样的问题:
javac Test.java时,出现这样的错误:
Test.java:9:cannot access com.yy.ws.MobileBossServicesLacator.java
file does not contain class :com.yy.ws.MobileBossServicesLacator….但我已成功编译MobileBossServicesLacator啦!请楼主帮助下啊!!
六月 5th, 2007 at 15:10
问题解决啦!真的高兴!!!
六月 6th, 2007 at 10:55
活活,解决了就好。有时间欢迎把问题和解决方法share一下。
当时我试验过这些代码,应该没什么问题的。