java调用webservice WSDL形式接口之apache axis方式调用(一)
1. 先说一下什么是webservice
webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口。
(1)WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。
(2)WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL(web服务定义语言)/SOAP(简单请求协议)规范的。
2. 下面是介绍如何使用axis调用webservice
(1)先从官网下载axis相关jar包,地址:http://axis.apache.org/axis/
官方要求引入如下jar包(将lib下的jar引入即可)
- axis-<version>/lib/axis.jar
- axis-<version>/lib/jaxrpc.jar
- axis-<version>/lib/saaj.jar
- axis-<version>/lib/commons-logging-<version>.jar
- axis-<version>/lib/commons-discovery-<version>.jar
- axis-<version>/lib/wsdl4j-<version>.jar
我在项目中实际用到的最少jar如下:
H:\libs\axis.jar
H:\libs\jaxrpc.jar
H:\libs\commons-logging-1.0.4.jar
H:\libs\commons-discovery-0.2.jar
H:\libs\wsdl4j-1.5.1.jar
H:\libs\jaxrpc.jar
H:\libs\commons-logging-1.0.4.jar
H:\libs\commons-discovery-0.2.jar
H:\libs\wsdl4j-1.5.1.jar
(2)具体代码实现
===========================================异常解决=============================================================
今天在调用webserivce接口的时候出现了如下异常
这种异常不是程序抛出来的,是由服务器抛出的,所以在程序里抓不到异常。
出现此种问题要注意一下是否已经把接口中用到的jar包加进了服务器中或者项目中。
我用的webservice接口的服务器为TOMCAT,此时需要将webservice接口中用到的jar到全部放到tomcat的lib下,这样做后,异常解决