- 浏览: 265576 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (180)
- J2SE (15)
- J2EE (7)
- Struts (2)
- Hibernate (18)
- Spring (22)
- ssh (2)
- HTML (1)
- JS (10)
- CSS (3)
- jQuery (15)
- extJS (0)
- FLEX (14)
- Web service (7)
- Axis2 (3)
- lucene2.0 (9)
- maven (3)
- JBoss (0)
- WebLogic (0)
- Linux (8)
- Android (0)
- SiteMesh (1)
- JPA (0)
- JBPM (1)
- xFire (3)
- XML (4)
- apache (4)
- bingo专区 (0)
- 加密解密算法研究 (1)
- 数据库 (16)
- 资料 (1)
- 经验 (4)
- 健康 (1)
- 技术交流区 (1)
- 交友区 (0)
- jquery 插件区 (1)
最新评论
-
forrest_lv:
很有帮助
Axis2 XFire CXF 比较 -
kuloujianzun:
...
flex DataGrid -
zx.peng:
大哥,请教一下...
下面在别的地方引入:(在什么地方、怎么 ...
FLEX下拉多选框 -
elvislee030:
试试去,正好要找这个组件。。先谢过
FLEX下拉多选框 -
futrueboy:
如果你发到网上来,请翻译的好点
Apache Mina的学习应用(三)
Axis简介
1. 什么是SOAP
SOAP是一个基于XML的用于应用程序之间通信数据编码的传输协议。最初由微软和Userland Software提出,随着不断地完善和改进,SOAP很快被业界广泛应用,目前完全发布版本是1.1。在其发展过程中,W3C XML标准工作小组积极促成SOAP成为一个真正的开放标准。在写作此文档之时,SOAP1.2草案已经发布,1.2对1.1中相对混乱的部分做了改进。
SOAP被广泛作为新一代跨平台、跨语言分布计算Web Services的重要部分。
2. 什么是Axis
Axis是Apache组织推出的SOAP引擎,Axis项目是Apache组织著名的SOAP项目的后继项目,目前最新版本是采用Java开发的1.1版本,C++的版本正在开发之中。Axis v1.1软件包可以从http://ws.apache.org/axis/dist/1_1/下载得到。
但是Axis不仅仅是一个SOAP引擎,它还包括:
一个独立运行的SOAP服务器
一个servlet引擎的插件,这个servlet引擎可以是Tomcat
对WSDL的扩展支持
一个将WSDL的描述生成JAVA类的工具
一些示例代码
还有一个监控TCP/IP包的工具
二、Axis的安装
应用Axis开发Web Services,你需要安装如下软件:
1.JDK1.4.2
2.一个支持Servlet的服务器引擎,比如广为人知的Tomcat。
当安装好Tomcat之后,只需将下载的Axis软件包解压缩,将其中的“webapps”目录下的“axis”目录整个拷贝到Tomcat安装目录下的“webapps”目录下即可。
三、Axis的配置
Axis基于Java开发,可以部署于多种操作系统,使用前需要配置一系列的系统变量,在此假定你已经在本机上装好了Tomcat 4.0以上的版本,需要配置的系统变量如下表所示:
CATALINA_HOME
C:\Tomcat_4_1
(此处应为Tomcat的安装位置,注意路径名中不要有空格)
AXIS_HOME
%CATALINA_HOME%\webapps\axis
AXIS_LIB
%AXIS_HOME%\lib
AXISCLASSPATH
%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery.jar; %AXIS_LIB%\commons-logging.jar;%AXIS_LIB%\jaxrpc.jar; %AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar; %AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\xercesImpl.jar
CLASSPATH 中加入:
%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery.jar; %AXIS_LIB%\commons-logging.jar;%AXIS_LIB%\jaxrpc.jar; %AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar; %AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\xercesImpl.jar
四、Axis的测试
安装配置完毕后,应测试一下是否Axis可以正确运行了。
启动Tomcat服务器,在浏览器中访问http://localhost:8080/axis/happyaxis.jsp,如果页面显示有错误,则需要回头检查一下相关配置是否正确,如果浏览页面能正确显示出系统组件、属性等参数配置信息,则表示安装成功。现在可以开始开发你的Web Services应用了。
五、服务的发布
Axis提供了两种服务发布方式,一种是即时发布(Instant Deployment),一种是定制发布(Custom Deployment)。
1. 使用即时发布 Java Web Service(JWS)
对即时发布的支持是Axis的特色之一,使用即时发布使用户只需有提供服务的Java类的源代码,即可将其迅速发布成Web服务。每当用户调用这类服务的时候,Axis会自动进行编译,即使服务器重启了也不必对其做任何处理,使用非常简单快捷。
使用即时发布首先需要一个实现服务功能的Java源文件,将其扩展名改为.jws(Java Web Service的缩写),然后将该文件放到“……\webapps\axis”目录下即可。
在此给出一个从英里到公里的长度单位转换的服务,其源码如下:
文件Distance.jws
public class Distance
{
public double convertMile2Kilometre( double mile )
{
return mile * 1.609; //实现英里到公里的距离转换
}
}
将其放到“……\webapps\axis”目录,通过访问http://localhost:8080/axis/Distance.jws?wsdl可以看到这个服务的WSDL描述文件,这说明Distance服务被成功发布了。描述的WDSL代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://192.168.0.26:8080/axis/Distance.jws" xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://192.168.0.26:8080/axis/Distance.jws" xmlns:intf="http://192.168.0.26:8080/axis/Distance.jws" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:message name="convertMile2KilometreRequest">
<wsdl:part name="mile" type="xsd:double" />
</wsdl:message>
- <wsdl:message name="convertMile2KilometreResponse">
<wsdl:part name="convertMile2KilometreReturn" type="xsd:double" />
</wsdl:message>
- <wsdl:portType name="Distance">
- <wsdl:operation name="convertMile2Kilometre" parameterOrder="mile">
<wsdl:input message="impl:convertMile2KilometreRequest" name="convertMile2KilometreRequest" />
<wsdl:output message="impl:convertMile2KilometreResponse" name="convertMile2KilometreResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="DistanceSoapBinding" type="impl:Distance">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="convertMile2Kilometre">
<wsdlsoap:operation soapAction="" />
- <wsdl:input name="convertMile2KilometreRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded" />
</wsdl:input>
- <wsdl:output name="convertMile2KilometreResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://192.168.0.26:8080/axis/Distance.jws" use="encoded" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="DistanceService">
- <wsdl:port binding="impl:DistanceSoapBinding" name="Distance">
<wsdlsoap:address location="http://192.168.0.26:8080/axis/Distance.jws" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
需要注意的是:JWS的web服务发布是一个很简单的Web服务发布方式,在页面中你不能使用包,而且由于代码是在运行期被编译的,所以在部署之后,你也很难找到错误所在。
2. 使用定制发布 Web Service Deployment Descriptor(WSDD)
即时发布是一项令人激动的技术,它使Web服务的开发变得如此简单;然而即时发布并不总是最好的选择,比如有些应用系统是第三方提供的,我们没有购买源代码,只有.class文件,但我们又希望将这个应用系统的一些功能对外发布成Web服务,使其能够在更大范围内产生作用,这个时候即时发布技术就无能为力了。此外,即时发布技术并不灵活,无法进行更多的服务配置,这使得它并不能满足一些特定系统的需求。
因此,Axis提供了另一种服务发布方式,这就是定制发布。
在此给出一个从加仑到升的容积单位转换的服务,其源码如下:
文件Capacity.java
package samples.capacity;
public class Capacity
{
public double convertGallon2Litre( double gallon )
{
return gallon * 4.546;//实现加仑到升的容积转换
}//convertGallon2Litre()
}/* Capacity */
将其编译成.class文件,放置到“……\webapps\axis\samples\capacity”目录下,即可着手进行发布。
定制发布不需要构建.jws文件,但必须创建服务发布描述文件deploy.wsdd(Web Service Deployment Descriptor的缩写),这个文件负责描述服务的名称、入口等信息,其内容如下:
文件deploy.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="Capacity" provider="java:RPC">
<parameter name="className" value="samples.capacity.Capacity"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
在这里服务的提供者是“java:RPC”,它被内建在Axis中,而且指明了一个JAVA RPC服务,做这个处理的类是org.apache.axis.providers.java.RPCProvider。
我们是通过一个<parameter>标签告诉RPC服务应该调用的类,而另外一个<parameter>标签则告诉引擎,它可以调用这个类中的任何的Public方法。你也可以指定通过使用名字空间或者一些可以调用的方法列表,来指明那些方法可以被调用。
将该文件也放到“……\webapps\axis\samples\capacity”目录下,然后可以采用Axis提供的一个客户端管理工具——AdminClient来完成服务的定制发布。
在“……\webapps\axis\samples\capacity”目录下,运行:
java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd
或
java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -l http://localhost:8081/WebServiceTest/services/WebServiceServer.WSServer deploy.wsdd
如果运行时说没有找到类,那么可能是类路径没有配置好,建议将所有的与axis相关的jar都写到classpath中去。这样只要运行:
java org.apache.axis.client.AdminClient deploy.wsdd
可以看到以下运行结果:
Processing file deploy.wsdd
<Admin>Doneprocessing</Admin>
这表明Capacity服务定制发布完成。
你也可以调用:
java org.apache.axis.client.AdminClient undeploy.wsdd 来取消部署。
你也可以调用:
java org.apache.axis.client.AdminClient list 来获得所有的已经部署的服务的列表。在这里你会看到services, handlers, transports等等,注意这个调用只是列出了WEB-INF\server-config.wsdd的文件内容。
一定要注意:编译后的class文件要拷贝到web-inf/classes的目录中,如果该文件中有包存在的话,别忘了还要在classes目录下创建包的目录
通过访问http://localhost:8080/axis/services/Capacity?wsdl可以看到这个服务的WSDL描述文件,这说明Capacity服务被成功发布了。
查看要看你的deploy配置文件是怎么写的http://localhost:8080/项目/services/deploynamevalue?wsdl
http://localhost:8080/axis/servlet/AxisServlet查看所有定制发布的服务。
WDSL如下:
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://localhost:8080/axis/services/Capacity" xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8080/axis/services/Capacity" xmlns:intf="http://localhost:8080/axis/services/Capacity" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:message name="convertGallon2LitreResponse">
<wsdl:part name="convertGallon2LitreReturn" type="xsd:double" />
</wsdl:message>
- <wsdl:message name="convertGallon2LitreRequest">
<wsdl:part name="in0" type="xsd:double" />
</wsdl:message>
- <wsdl:portType name="Capacity">
- <wsdl:operation name="convertGallon2Litre" parameterOrder="in0">
<wsdl:input message="impl:convertGallon2LitreRequest" name="convertGallon2LitreRequest" />
<wsdl:output message="impl:convertGallon2LitreResponse" name="convertGallon2LitreResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="CapacitySoapBinding" type="impl:Capacity">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="convertGallon2Litre">
<wsdlsoap:operation soapAction="" />
- <wsdl:input name="convertGallon2LitreRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://capacity.samples" use="encoded" />
</wsdl:input>
- <wsdl:output name="convertGallon2LitreResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/axis/services/Capacity" use="encoded" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="CapacityService">
- <wsdl:port binding="impl:CapacitySoapBinding" name="Capacity">
<wsdlsoap:address location="http://localhost:8080/axis/services/Capacity" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
WSDD 的高级功能:
(1) AXIS支持三种对象范围:
"request"范围:这是默认的情况,每一次Soap请求的时候都将创建新的对象。
"application"范围:将会为所有的请求生成一个单独的共享的对象。
"session"范围:为每一个session期的客户端请求创建一个对象。
指定方法如下:
<service name="MyService"...>
<parameter name="scope" value="value"/>
...
</service>
(2) 更多部署内容:Handlers and Chains
让我们来深入挖掘一下Axis引擎的更强大的特性。如果我们想跟踪我们的服务被调用了多少次,那么我们只需要包含一个简单的handler,它存放在samples/log目录下。要使用这个handler,你就首先应该部署这个handler,然后使用在部署服务时给它指定的名字。下面是一个wsdd文件的例子:
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<!-- define the logging handler configuration -->
<handler name="track" type="java:samples.userguide.example4.LogHandler">
<parameter name="filename" value="MyService.log"/>
</handler>
<!-- define the service, using the log handler we just defined -->
<service name="LogTestService" provider="java:RPC">
<requestFlow>
<handler type="track"/>
</requestFlow>
<parameter name="className" value="samples.userguide.example4.Service"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
第一段指明了一个名为track的handler,它是samples.userguide.example4.LogHandler类的实例。另外还指定了一个参数filename,用于指定日志文件名称。
下面的那段指明了一个RPC服务,和我们在上面的例子中看到的一样,所不同的是在service标签中的<requestFlow>标签,它指定了一些在调用服务前应该被调用的handler集。也就是由于我们在部署中插入了这个"track"的引用,所以我们确定每次调用服务的时候都将被记录到日志文件中去。
(3)远程管理:
<service name="AdminService" provider="java:MSG">
<parameter name="className" value="org.apache.axis.util.Admin"/>
<parameter name="allowedMethods" value="*"/>
<parameter name="enableRemoteAdmin" value="true"/>
</service>
WARNING: enabling remote administration may give unauthorized parties access to your machine. If you do this, please make sure to add security to your configuration!
所以远程管理涉及到安全问题,不建议采用。
---------------------------------------华丽的分隔符-------------------------------------------------
上面是基于axis项目的发布,下面来说说搭建自己webservice项目的步骤:
1.新建一个web项目 5.定制发布这个webservice 放到与服务器端classes文件一起,用cmd进入这个目录下,输入以下命令: 对这个命令给予以下说明:%AXISCLASSPATH%为axis的classpath的环境变量名称;http://localhost:8081/WebServiceTest/services/WebServiceServer.WSServer这个为你部署这个webservice的项目路径,可以不带但是带上最好。WebServiceTest为项目名称services为web.xml中配置目录WebServiceServer.WSServer中WebServiceServer为服务器端程序的包名WSServer为程序名称。 Processing file deploy.wsdd 则发布成功,其它为错误,可以根据错误的提示信息,改正。 7.发布成功后,我们可以看看发布的情况 运行就能调用了!
2.准备axis1的jar包,拷贝到项目中
3.配置axis的home,lib,classpath等环境变量。
4.建立源代码,书写server端代码
package webServiceServer;
public class WSServer {
public String CallWSServer(String args){
String returnString = "";
if(args == null){
returnString="what a fucking day!!";
}else{
returnString = args;
}
return returnString;
}
}
6.书写一个deploy.wsdd发布文件<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="WSServer" provider="java:RPC">
<parameter name="className" value="webServiceServer.WSServer"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -l http://localhost:8081/WebServiceTest/services/WebServiceServer.WSServer deploy.wsdd
输入命令后如果显示
<Admin>Doneprocessing</Admin>
在浏览器中输入:http://localhost:8081/MyWebService/servlet/AxisServlet其中MyWebService为项目名称其它的固定,就可以看到你现在已经发布的webservice。从此也可以知道哪个webservice的wsdl地址
例如刚刚发布的地址为:http://localhost:8081/MyWebService/services/WSServer?wsdl
8.开发客户端package webServiceClient;
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class WSClient {
public static void main(String[] args){
try{
String endpoint = "http://localhost:8081/MyWebService/services/WSServer?wsdl";
Service service = new Service();
Call call = null;
call = (Call) service.createCall();
call.setOperationName(new QName( "http://localhost:8081/MyWebService/services/WSServer?wsdl", "CallWSServer"));
call.setTargetEndpointAddress (new java.net.URL(endpoint));
String ret = (String) call.invoke(new Object[] {"张君"});
System.out.println("return value is :" + ret);
}catch(Exception ex){
//ex.printStackTrace();
ex.printStackTrace();
}
}
}
相关推荐
总结,配置Tomcat与Axis2涉及下载和部署 Axis2 WAR 文件,设置环境变量,以及通过管理界面或手动方式部署Web服务。遵循这些步骤,你可以顺利地在Tomcat上运行和管理Axis2 Web服务。在实际操作中,确保每个步骤都正确...
这可以通过Axis1的Ant任务或者手动配置完成。 三、 客户端调用Web服务 1. 获取Wsdl:客户端首先需要获取Web服务的WSDL地址,通常是在服务部署后由服务提供者提供。 2. 生成客户端 stub:使用Axis1的wsdl2java工具...
1. **安装和配置**:下载并解压`axis-1_4`压缩包,将其放置在适当的位置,并配置环境变量指向Axis的bin目录,以便于执行相关命令。 2. **创建Web服务**:编写Java类,包含需要公开的服务方法。使用Axis提供的`wsdl2...
- Axis1通常需要手动编写或维护服务配置文件(如server-config.xml),而Axis2则提供了自动化生成这些配置文件的功能。 5. **数据绑定**: - Axis2提供了更丰富的数据绑定选择,允许用户根据需求选择最适合的数据...
1. **创建Axis配置文件**:进入Tomcat的conf/Catalina/localhost目录,创建一个名为axis.xml的新XML文件。在文件中添加以下内容: ```xml <!-- Axis 学习工程 --> <Context docBase="F:/AXIS_Study/axis-bin-1_4/...
这个框架是基于Axis1的升级版,提供了许多改进和新特性,包括更好的性能、模块化架构和增强的MIME支持。标题提到的“axis2-1.5.1-bin.zip”和“axis2-1.5.1-war.zip”是Apache Axis2的两个不同版本的发行包,分别...
通过以上步骤,你已经成功配置了JDK、Tomcat和Axis,并发布了一个简单的Web服务。在实际开发中,还需要熟悉SOAP、WSDL等Web服务相关协议,以及XML和Java编程知识,以便更有效地创建和维护Web服务。同时,了解和掌握...
在这种情况下,手动下载并引入"axis-1_4"压缩包中的jar文件变得尤为重要。 三、Axis-1.4 jar包包含的组件 Axis-1.4 jar包主要包含以下组件: 1. axis.jar:这是核心库,包含了处理SOAP消息和Web服务调用的核心功能...
由于Spring Boot默认不包含对Axis的支持,所以需要手动引入。 ```xml <!-- 添加Axis1.4依赖 --> <groupId>org.apache.axis <artifactId>axis <version>1.4 <!-- 添加Spring Web Services依赖 --> ...
- 这是一个配置文件,用于定义Axis1服务器的行为,如服务部署、消息处理等。 3.3. 作为独立应用部署 WebService - Axis1 支持将Web服务打包为独立的应用,这通常涉及创建WAR文件并部署到Servlet容器(如Tomcat)中...
这通常意味着你需要手动添加Axis的库,因为Spring Boot默认并不包含对Axis的支持。你需要找到Axis1.4的Maven坐标,并在`dependencies`节点下添加。 3. **创建WebService**:在Spring Boot应用中,你可以通过Axis1.4...
#### 二、Axis 的安装配置 1. **环境准备**:确保已经安装 Java SE 5 或更高版本以及 Tomcat 5.0 或更高版本。 - 下载 `axis-bin-1_4.zip` 并解压。 - 将解压得到的 `webapps` 目录下的 `axis` 文件夹复制到 ...
6. **编写WSDL**:如果还没有WSDL,我们可以手动编写或使用Axis工具从接口生成。WSDL文件描述了Web服务的接口,包括其方法、输入和输出参数等。 7. **部署Web服务**:利用SpringBoot的内嵌HTTP服务器,我们可以将...
- 设置一个名为`Axis_Lib`的环境变量,值为Axis的lib目录,例如`E:\axis\axis-bin-1_4\axis-1_4\lib`。 - **Java命令配置**: - 设置一个名为`Java_Cmd`的环境变量,值为`java-Djava.ext.dirs=%Axis_Lib%`。这样做...
这可以通过Eclipse的AXIS2插件完成,或者手动使用命令行工具。 2. 将生成的服务部署文件复制到Tomcat的webapps/axis2/WEB-INF/services目录下。 **步骤5:发布和测试WebService** 1. 启动Tomcat服务器,服务会自动...
在Eclipse中,开发者可以通过 Axis1插件或者手动配置来生成这些编译文件。 标签"webservice"明确了我们讨论的核心技术,即Web服务。Web服务是一种基于标准的、平台无关的方式,使不同系统之间能够通过网络共享数据...
在旧版本的AXIS中,开发者通常需要手动配置这些依赖项,而现在许多现代的构建工具如Maven或Gradle可以自动化这个过程。 在开发过程中,理解AXIS的工作原理,熟悉其API,以及如何使用WSDL来定义和调用Web服务是非常...
不过,默认情况下,MyEclipse可能并未包含Axis2所需的全部库文件,因此我们需要手动配置。 1. **下载Axis2库**:首先,你需要从Apache官方网站下载Axis2的最新稳定版本。下载完成后,解压到一个适当的目录,通常会...
AXIS2提供了一个工具可以自动生成WSDL,或者你可以手动编写。 3. **创建服务描述文件(.aar)**:AXIS2服务是以存档文件(.aar)的形式发布的,它包含了服务类、WSDL和相关的资源文件。使用`axis2.apache.org`提供...