有时在我们的开发中可能会有这种情况就是你要使用webservice但是对方没有给你提供java文件,可能就只会给你一个wsdl文件,这种文件和xml文件是比较相似。axis2也给我们提供了很好的工具如wsdl2java、java2wsdl。使用之前先下载axis2的开发包,在里面的bin目录里就有wsdl2java.bat的批处理文件。

1.配置java的环境变量,可以在wsdl2java.bat里配置或者在电脑上配置JAVA_HOME或者配置在path里

2.准备一个wsdl文件,xml文件也是OK的

3.进入axis2的bin目录执行如下的命令


-uri后面表示的是文件的路径,-o表示java文件的输出目录,-p后面可以加包名。还有一些命令大家上网找找就Ok了。

4.下面就是生成的java文件


以stub结尾的那个就是我们可以拿来使用的。很简单吧,有问题可以给我写评论噢。

 

---------------------------------------------------------------------------------------------------

 

使用wsdl2java把WSDL文件转成本地类,然后像本地类一样使用,即可。

这是像我这种懒人最喜欢的方式,仍然以前面的global weather report为例。

首先   java org.apache.axis.wsdl.WSDL2Java http://www.webservicex.net/globalweather.asmx.WSDL

原本的网址是http://www.webservicex.net/globalweather.asmx?WSDL,中间个各问号,但是Linux下面它不能解析,所以去掉问号,改为点号。

那么就会出现4个文件:

GlobalWeather.java  GlobalWeatherLocator.java  GlobalWeatherSoap.java  GlobalWeatherSoapStub.java

其中GlobalWeatherSoap.java是我们最为关心的接口文件,如果你对RMI等SOAP实现的具体细节不感兴趣,那么你只需要看接口文件即可,在使用的时候,引入这个接口即可,就好像使用本地类一样。