29

好了现在我们将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:

作者:Jock

6 Responses to “手把手教你用axis创建自己的webservice(五)”

  1. angel Says:

    我按照你的步骤做下去,前四步都成功执行.但我在最后一步测试时,出现了这样的错误:Exception in thread "main"………哎呀,真是搞不错啊!还望楼主帮助下啊!!!

  2. angel Says:

    上面的那个问题解决了!但又出现了一个这样的问题:
    javac Test.java时,出现这样的错误:
     Test.java:9:cannot access com.yy.ws.MobileBossServicesLacator.java
     file does not contain class :com.yy.ws.MobileBossServicesLacator….但我已成功编译MobileBossServicesLacator啦!请楼主帮助下啊!!

  3. angel Says:

    如果用java -d . Test.java可以编译成功Test.java.但是在运行时,就会出现这样的错误:
     Exception in thread"main" AxisFault
      faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    ….
    郁闷啊呀!!!!

  4. angel Says:

    如果用另一种方法编译时.又出现了一个这样的问题:
    javac Test.java时,出现这样的错误:
    Test.java:9:cannot access com.yy.ws.MobileBossServicesLacator.java
    file does not contain class :com.yy.ws.MobileBossServicesLacator….但我已成功编译MobileBossServicesLacator啦!请楼主帮助下啊!!

  5. angel Says:

    问题解决啦!真的高兴!!!

  6. jock Says:

    活活,解决了就好。有时间欢迎把问题和解决方法share一下。
    当时我试验过这些代码,应该没什么问题的。

Leave a Reply

You must be logged in to post a comment.

Switch to our mobile site