WebService 初学者

 一直以来,总是听说WebService,但是总是抽不出来时间来研究。这两天闲下来了,就仔细研究了一番。

首先,说一下环境:

Tomcat 5.5.28/Tomcat 6.0.29

axis-bin-1_4.zip

Myeclipse 6.5

注意:

axis-解压以后,仅仅有以下几个文件:

axis.jar
axis-ant.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
jaxrpc.jar
log4j-1.2.8.jar
saaj.jar
wsdl4j-1.5.1.jar

还缺少文件如下:

activation.jar

mail.jar

我提供的附件包之中存在完整的jar文件,下载附件包以后,完全可以放心的去使用。

传统方法就是将axis-bin-1_4.zip解压,然后将axis\webapps\axis文件包拷到tomcat_home\webapps 下,然后启动tomcat服务器,在浏览器中输入

http://localhost:8080/axis/

即可访问。那是axis提供的访问方法,相信很多初学者像我一样,想自己搭建一个自己的服务。

当我按照网上写的方法,把所有的jws文件放到axis文件夹下事,访问也成功,但是无论怎么做,客户端总是不编译不成功。这就是axis环境配置的弊端,太麻烦,而且还要求tomcat 、jdk、axis三个classpath配置均要正确,一个出错都通不过。我配置了好长时间,总是无法成功,所以,我想到了一个方法,就是将自己写的 axis文件夹放到tomcat上,然后将Myeclipse6.5启动,创建一个web项目,然后倒入axis中的所有的jar文件,然后在 Myeclipse中进行编译,运行客户端,一切正常。呵呵……总算有点成果。

好了废话不多说了,贴出代码以及运行图示,所有所需要的文件,均在附件之中,只需要下载使用即可。

首先,下载附件包,然后解压,将axis文件包解压出来,将axis文件包拷贝到tomcat中,运行tomcat,在地址栏中输入:

http://localhost:8080/axis/wsTestService.jws

效果图如下:

<!--StartFragment -->
 

 

点击链接以后,出现如下界面:

 

 

看到这些界面,说明webservice服务已经成功,下面来写客户端。

在写客户端的时候,我一直出错,主要是因为classpath配置总是出错。索性我就使用IDE进行编译以及运行。

打开MyEclipse6.5,创建一个项目,然后将下面代码粘贴上,

  1. import org.apache.axis.client.Call;  
  2. import org.apache.axis.client.Service;  
  3.    
  4. public class wsTestClient {  
  5.   public static void main(String args[]) {  
  6.     System.out.println("Start invoking");  
  7.     try {  
  8.       String strUri="http://localhost:8080/axis/wsTestService.jws";  
  9.       Service service = new Service();  
  10.       Call call = (Call)  
  11.       service.createCall();  
  12.       call.setTargetEndpointAddress(new java.net.URL(strUri));  
  13.       call.setOperationName("getName");  
  14.       String ret = "" + call.invoke(new Object[] {});  
  15.       System.out.println("I am " + ret + ".");  
  16.         
  17.       call.setOperationName("getAge");  
  18.       String age = "" + call.invoke(new Object[]{});  
  19.       System.out.println("age:--->" + age);  
  20.      }  
  21.     catch (Exception e) {  
  22.       System.err.println(e.toString());  
  23.      }  
  24.     System.out.println("Finished the invoking.");  
  25.     }  
  26. }  

然后将刚才的axis/WEB-INF/lib下的所有的jar全部倒入到刚刚创建的项目中,运行程序,运行之前,要保证Tomcat已经启动,运行的界面如下:

 

 

当你看到console窗口中出现图上的结果之后,说明WebService已经创建成功。具体的高级应用我暂时还没有研究,呵呵……这种方法省去了好多的classpath的配置问题,哪些问题有的时候是很烦人,也是没有意思的浪费时间的事情。Ok,先这样吧。

猜你喜欢

转载自icecream0.iteye.com/blog/938610