Axis用过一段时间后就听说Axis2横空出世,继而接触了CXF,如果不赶紧整理,怕是都要遗忘了,今天咱就先整理一下Axis1。
Axis1 终于1.4版本,此后转为 Axis2 。
先搭建一个简单的Axis1,日后根据需要逐步求精。
相关链接:
WebService框架整理(一) Axis1
WebService框架整理(二) Axis1+Spring
在开始构建前,我们需要获得以下jar包:
activation.jar
axis.jar
commons-discovery.jar
commons-logging.jar
log4j.jar
jaxrpc.jar
mail.jar
wsdl4j.jar
首先,需要在WEB-INF下构建server-config.wsdd文件,内容如下:
我们将测试Axis1内部的Version服务。
接下来,我们构建web.xml文件,如下所示:
所有以/services/开头的请求都将转交给AxisServlet处理。
构建一个测试用例,如下所示:
启动服务,访问地址 http://localhost:8080/axis/services ,得到如下页面:
单击getVersion服务,进入WSDL页面,如图所示:
我们已经能够正常访问该服务了,执行测试用例,如果我们正常获得版本信息则认为验证通过!
Axis就这么简单!
控制台得到如下信息,如图所示:
其实,在Eclipse中我们可以直接使用IDE提供的工具进行WebService验证,按下图步骤执行操作:
得到一个页面,如图所示:
继续按步骤点击,看看得到什么内容:
在Eclipse中,即便我们没有测试用例,也可使用IDE自带的工具进行验证!
朋友可以下载这个简单的实例,见附件!
Axis1 终于1.4版本,此后转为 Axis2 。
先搭建一个简单的Axis1,日后根据需要逐步求精。
相关链接:
WebService框架整理(一) Axis1
WebService框架整理(二) Axis1+Spring
在开始构建前,我们需要获得以下jar包:
引用
activation.jar
axis.jar
commons-discovery.jar
commons-logging.jar
log4j.jar
jaxrpc.jar
mail.jar
wsdl4j.jar
首先,需要在WEB-INF下构建server-config.wsdd文件,内容如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <deployment
- xmlns="http://xml.apache.org/axis/wsdd/"
- xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
- <transport
- name="http">
- <requestFlow>
- <handler
- type="java:org.apache.axis.handlers.http.URLMapper" />
- </requestFlow>
- </transport>
- <transport
- name="local">
- <responseFlow>
- <handler
- type="java:org.apache.axis.transport.local.LocalResponder" />
- </responseFlow>
- </transport>
- <service
- name="Version"
- provider="java:RPC">
- <parameter
- name="allowedMethods"
- value="getVersion" />
- <parameter
- name="className"
- value="org.apache.axis.Version" />
- </service>
- </deployment>
我们将测试Axis1内部的Version服务。
接下来,我们构建web.xml文件,如下所示:
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- id="WebApp_ID"
- version="2.5">
- <display-name>Apache-Axis</display-name>
- <servlet>
- <display-name>Apache-Axis Servlet</display-name>
- <servlet-name>axis</servlet-name>
- <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
- <load-on-startup>0</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>axis</servlet-name>
- <url-pattern>/services/*</url-pattern>
- </servlet-mapping>
- </web-app>
所有以/services/开头的请求都将转交给AxisServlet处理。
构建一个测试用例,如下所示:
- import static org.junit.Assert.*;
- import java.net.URL;
- import javax.xml.namespace.QName;
- import org.apache.axis.client.Call;
- import org.apache.axis.client.Service;
- import org.junit.Before;
- import org.junit.Test;
- /**
- * WebService测试
- *
- * @author 梁栋
- * @version 1.0
- * @since 1.0
- */
- public class WebServiceTest {
- private String namespaceUri = "http://localhost:8080/axis/services/Version";
- private String wsdlUrl = namespaceUri + "?wsdl";
- /**
- * 测试
- *
- * @throws Exception
- */
- @Test
- public final void test() throws Exception {
- // 创建调用对象
- Service service = new Service();
- Call call = (Call) service.createCall();
- // 调用 远程方法
- call.setOperationName(new QName(namespaceUri, "getVersion"));
- // 设置URL
- call.setTargetEndpointAddress(new URL(wsdlUrl));
- // 执行远程调用,同时获得返回值
- String version = (String) call.invoke(new Object[] {});
- // 打印信息
- System.err.println(version);
- // 验证
- assertNotNull(version);
- }
- }
启动服务,访问地址 http://localhost:8080/axis/services ,得到如下页面:
![](http://dl.iteye.com/upload/attachment/195672/884003e7-c3db-320e-860b-9627903253df.jpg)
单击getVersion服务,进入WSDL页面,如图所示:
![](http://dl.iteye.com/upload/attachment/195674/41fcd234-8d1a-3d87-a378-ebc1e1c8be2d.jpg)
我们已经能够正常访问该服务了,执行测试用例,如果我们正常获得版本信息则认为验证通过!
Axis就这么简单!
控制台得到如下信息,如图所示:
![](http://dl.iteye.com/upload/attachment/195676/bb14d12e-6a6b-3252-a0c7-7887ba8992f8.jpg)
其实,在Eclipse中我们可以直接使用IDE提供的工具进行WebService验证,按下图步骤执行操作:
![](http://dl.iteye.com/upload/attachment/195684/24d8f9f6-f0d4-3812-bdd5-b18d0161b062.jpg)
得到一个页面,如图所示:
![](http://dl.iteye.com/upload/attachment/195688/6b8836e6-0b3f-3e82-8aa3-74bbcc812e83.jpg)
继续按步骤点击,看看得到什么内容:
![](http://dl.iteye.com/upload/attachment/195690/9ac0a950-7535-3512-8413-c5685f8bf8c6.jpg)
在Eclipse中,即便我们没有测试用例,也可使用IDE自带的工具进行验证!
![](https://i-blog.csdnimg.cn/blog_migrate/a6558229767b87df3caca2cbd544f611.gif)
朋友可以下载这个简单的实例,见附件!