`

WebService框架整理(一) Axis1

阅读更多
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文件,内容如下:
<?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,得到如下页面:

单击getVersion服务,进入WSDL页面,如图所示:

我们已经能够正常访问该服务了,执行测试用例,如果我们正常获得版本信息则认为验证通过!
Axis就这么简单!
控制台得到如下信息,如图所示:



其实,在Eclipse中我们可以直接使用IDE提供的工具进行WebService验证,按下图步骤执行操作:

得到一个页面,如图所示:

继续按步骤点击,看看得到什么内容:

在Eclipse中,即便我们没有测试用例,也可使用IDE自带的工具进行验证!

朋友可以下载这个简单的实例,见附件!

WebService框架整理(一) Axis1
WebService框架整理(二) Axis1+Spring
  • 大小: 18.1 KB
  • 大小: 109.9 KB
  • 大小: 25.1 KB
  • 大小: 67.8 KB
  • 大小: 79.6 KB
  • 大小: 89.4 KB
5
1
分享到:
评论

相关推荐

    Axis 自动生成WebService

    文件名 "MyEclipse+xFire开发(程序员必看,精心整理,免分数).doc" 提示我们,可能有一个教程或指南介绍了如何在集成开发环境MyEclipse中结合xFire(另一个Web服务框架)进行开发。xFire后来被Apache CXF项目吸收,但...

    Webservice axis 整理好的示例文档

    在Java领域,Apache Axis是一个广泛使用的Web服务框架,它允许开发者创建和部署Web服务。以下是对标题、描述中涉及的知识点的详细说明: 1. **即时发布JWS (Java Web Service)**:JWS是Java实现的Web服务模型,通过...

    Spring+axis2开发webservice[整理].pdf

    本教程将介绍如何利用Spring框架与Apache Axis2来开发和部署SOAP Web服务,这是一种高效且灵活的方式。 首先,我们需要了解Spring框架。Spring是一个开源的应用程序框架,它为Java开发提供了全面的基础设施支持。...

    基于Axis编写webservice服务端和客户端时需要的jar包整理

    1. **Apache Axis1.4**: Apache Axis是Apache软件基金会的一个项目,专门用于构建SOAP(Simple Object Access Protocol)Web服务。Axis1.4是其较旧但仍然广泛使用的版本,支持SOAP 1.1和WSDL(Web Services ...

    axis1资料整理

    【标题】"Axis1资料整理"是一个关于 Axis1 框架的学习资源,它涵盖了创建和使用 Web 服务客户端及服务端的相关知识。Axis1 是一个开源的、基于 Java 的 Web 服务工具包,用于实现 SOAP(简单对象访问协议)通信,是 ...

    Axis2教程[整理].pdf

    作为一款强大的SOAP(简单对象访问协议)和RESTful Web服务框架,Axis2提供了一种高效、灵活的方式来实现和消费Web服务。它的设计目标是提高性能、简化开发流程以及支持多种Web服务标准。 1. **POJO实现零配置Web...

    JAVA课程设计

    本次课程设计的具体任务是使用Java和Axis框架开发一个Web服务应用服务器,实现时间服务,并开发一个客户端进行服务调用测试。 ##### 1. Java WebService简介 Java WebService是一种使用XML和HTTP等标准协议构建的...

    WSDL网络资源整理版

    1. **Apache Axis**:Java平台上的Web服务框架,可以自动生成WSDL文件。 2. **SoapUI**:强大的Web服务测试工具,支持WSDL导入和导出。 3. **Visual Studio**:Microsoft的开发环境,内建了WSDL支持。 **七、学习...

    (完整版)Java系统架构师面试题 (2).docx

    前端可以使用MVC模式,Axis、Ext、JQuery、Flex等框架来实现;后端可以使用Ejb、Spring、IOC、AOP、JMS、JNDI、RMI等技术来实现。 4. 什么是SOA、ROA?谈谈两种技术的原理及合用场景 SOA(Service-Oriented ...

Global site tag (gtag.js) - Google Analytics