写在前面:
对于客户端,服务端开发好了以后,客户端只需要调用就可以了。这里我们讲的是,根据服务的访问地址,来生成客户端所需要用到的代码(听说有几种调用方式,但是用到最常见的就是stub方式,貌似我说的这种方式就是的,具体没深入研究。哈哈,先学会用再说)
1.浏览器输入服务的访问地址,如:http://localhost:8080/test_axis3_stub/services/sayHello?wsdl,这一步是为了确保服务是可以正常访问的。
2.编写一个.bat文件,用来生成java客户端代码。文件名字可以随便取,内容如下:
set Axis_Lib=D:myEclipse10_WSjob est_axis3_stubWebRootWEB-INFlib set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib% set Output_Path=D:my set Package=edu.hue.stub %Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% http://localhost:8080/test_axis3_stub/services/sayHello?wsdl
这里直接将上面的复制粘贴到你的文件下,然后稍微做下解释,Axis_Lib:这个是你的axis.jar的存放路径,一般这个路径为了方便,我们直接写你项目的所在路径就好了,一直到lib下,因为你的jar包是放在这里的嘛;Output_Path:就是生成java客户端代码的路径,这里你自己指定就好了,例如D:my,前提是你d盘下有my这个文件夹;最后将上面的那个访问链接地址换成你想要访问的服务的链接就好,这里我的是http://localhost:8080/test_axis3_stub/services/sayHello?wsdl
到这就可以了,然后去双击运行这个.bat文件就可以在D:my下面生成java客户端代码了(注意你的服务端此时应该是运行的),哦,对了,有可能你跟我一样是小白,连.bat文件怎么创建都不知道,下面我就简单说说,你创建一个记事本文件,将内容写好后,最后另存为名字为my.bat,注意这里要改变保存类型,为所有文件。之后保存就可以了。就成了.bat文件啦。
3.将生成的java客户端代码,复制粘贴到你的项目里面。
4.创建一个客户端类,内容如下:
package edu.hue.client; import java.rmi.RemoteException; import edu.hue.stub.SayHelloImpl; import edu.hue.stub.SayHelloImplService; import edu.hue.stub.SayHelloImplServiceLocator; public class MyClient { public static void main(String[] args) throws Exception { //获取服务集合 SayHelloImplService service = new SayHelloImplServiceLocator(); //获得服务 SayHelloImpl client = service.getsayHello(); //调用服务的方法 传递参数 String result = client.say("臭小蚊子"); System.out.println(result); } }
这里的获取服务集合,是根据你刚生成的java类来new的,注意观察,一般这个集合是以Service结尾的,直接new这个类就好了;获得服务,直接写.的时候,就会出来提示,你看提示中哪一个是符合你要调用的服务类的就选择那个就可以了;后面的调用服务的方法,也是写client.之后,根据提示就可以判断你要调用的是哪个方法了。
5.右键,运行。成功啦~~~~
这里都是说的如何快速用asix1.4来开发一个webservice。涉及到更复杂的参数传递什么的,比如说传递的参数是一个bean,就需要自己下去研究啦。
交流群:527038646 嘻嘻嘻