axis2创建web service(三)

来源:互联网 发布:如何找风投 知乎 编辑:程序博客网 时间:2024/05/16 18:38

这节我们就来写一个客户端来调用一下这个服务。主要关注一下如何用elispe的axis2的插件来生成stub代码。

1.在eclispe 的package Explorer 中点击右键,在菜单中选择新建--->other...----->Axis2 Code Generator




 

2.点击next,进入下一个页面,选择从wsdl文件来产生java文件。

 

3. 点击next,然后选择wsdl文件,注意此处要填写上一节我们

 4.点击next,进入设置页面,这里我们就用默认的设置。

 

5. 点击next,选择输出文件的路径。

 

6.点击next,如果看到这个页面,恭喜你已经生成代码成功。

 

7.在package Explorer中刷新一下项目,然后你发现出现2个新的文件SimpleServerStub和SimpleServerCallbackHandler 。打开SimpleServerStub你会惊喜的发现。著名的小红叉一个接一个的

这是因为没有axis2的类包。我们可以在下载的axis2-1.4.1-bin中找到lib包,把其中的jar都加入我们的工程中。

然后重新编译一下工程,这时我们发现SimpleServerStub还是有几个小红叉。这个是因为这个插件有个小bug。

生成的代码没有实现序列化方法。我们可以自己来加上,在小红叉上点一下,弹出一个小菜单,选择

Add unimplemented methods .



 

8.

Java代码  收藏代码
  1. /** 
  2.  * 调用发布的服务。 
  3.  *  
  4.  */  
  5. public class SimpleClient {  
  6.    
  7.  public static void main(String[] args) throws Exception{  
  8.     
  9.   //初始化桩文件  
  10.   SimpleServerStub stub = new SimpleServerStub();  
  11.   //初始化SimpleMethod方法。  
  12.   SimpleServerStub.SimpleMethod request = new  SimpleServerStub.SimpleMethod();  
  13.   //调用simpleMethod的setName方法。  
  14.   request.setName("zt");  
  15.   //  
  16.   System.out.println(stub.simpleMethod(request).get_return());  
  17.     
  18.     
  19.  }  
  20. }  

   如果一切正常,你就会看到结果

log4j:WARN No appenders could be found for logger (org.apache.axis2.description.AxisService).
log4j:WARN Please initialize the log4j system properly.
ztSay this is a Simple method ^-^。

调用服务成功。这是个简单的例子,下节我们再做一个复杂一点的例子,来更好的学习axis2

0 0