1.环境:
JDK1.5
TOMCAT 5.5.23
MYECLIPSE6.6GA
Axis1.4
2.Axis 支持三种web service开发方式,分别为:
1 、Dynamic Invocation Interface ( DII)
2 、Dynamic Proxy方式
3 、Stubs方式
(本实例只讨论 stubs 方式)
3. 本实例工程axis_example目录结构如下:
-axis_example
----jws
----src
----WEB-INF
---classes
---lib
目录说明如下:
jws :存放*.jws文件
src :java源码
WEB-INF/classes :java编译后的class文件
WEB-INF/lib :需要用到的jar包
4.配置步骤:
1.建立web project 工程,添加AXIS所需要的包。
在myeclipse 上建立一个web工程,并将
1).axis-bin-1.4\axis-1_4\lib 下的所有包拷贝到axis_example/WEB-INF/lib目录下,
2).axis-bin-1.4\axis-1_4\webapps\axis\WEB-INF下的web.xml文件拷贝到axis_example/WEB-INF目录下。
2.编写需要发布的服务类,并发布服务。
``1).在axis_example/src下新建一MyServic.java文件,内容为:
public class MyService {
public String processService(String arg){
return arg;
}
}
2).在src同级目录下建立deploy.wsdd。内容为:
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="MyService" provider="java:RPC">
<parameter name="className" value="MyService"/>
<parameter name="allowedMethods" value="processService"/>
</service>
</deployment>
3)部署web工程,启动tomcat
4)在axis_example/WEB-INF目录下执行:
java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis_example/servlet/AxisServlet deploy.wsdd
执行后可看到在axis_example/WEB-INF目录下生成server-config.wsdd文件。
5)重新启动tomcat ,以便加载 server-config.wsdd 文件。
6)在src下创建 Client.java 内容为:
public static void main(String [] args) throws Exception {
// 指出service所在URL
String endpoint = "http://localhost:" + "8080" + "/axis_example/services/MyService";
// 创建一个服务(service)调用(call)
Service service = new Service();
Call call = (Call) service.createCall();// 通过service创建call对象
// 设置service所在URL
call.setTargetEndpointAddress(new java.net.URL(endpoint));
// 方法名(processService)与MyService.java方法名保持一致
call.setOperationName("processService");
// Object 数组封装了参数,参数为"This is Test!",调用processService(String arg)
String ret = (String) call.invoke(new Object[]{"This is Test!"});
System.out.println(ret);
}
7) 编译Client.java,运行其中的main方法进行测试,可以看到屏幕打印出:" This is Dynamic Proxy test!"
3.使用WSDL2JAVA生成客户端使用的桩
axis 提供了wsdl2java工具,web service服务器端提供了一个地址,可以访问到WSDL文件,wsdl2java工具格式为:java org.apache.axis.wsdl.WSDL2Java [options] WSDL-URI
java -Djava.ext.dirs= E:\project\axis_example\WEB-INF\lib org.apache.axis.wsdl.WSDL2Java http://localhost:8081/axis_example/services/MyService?wsdl -p test.mytest -o E:\project\axis_example\src
生成相应的客户端java文件。
参数
-p 指定生成的java文件包名
-o 指定生成的java文件输出目录
如果不指定包名,axis会根据命令参数 WSDL-URI 生成相应的包名,如localhost\axis_example\jws\MyService_jws
上述命令会在 E:\project\axis_example\src\test\mytest 目录下生成四个文件:
MyServiceSoapBindingStub.java (相当于上面的MyService.java)
MyService_PortType.java (相当于上面的MyServiceInterface.java)
MyServiceService.java/MyServiceServiceLocator.java (Service Locator模式,隐藏了具体的业务逻辑)
编写junit单元测试,在axis_example\src\test\mytest下新建一TestClient.java文件(拷贝junit.jar包到axis_example/WEB-INF目录下),内容为:
package test.mytest;
import junit.framework.TestSuite;
import junit.framework.TestCase;
import junit.framework.Test;
public class TestClient extends TestCase {
public TestClient(String string) {
super(string);
}
public void MyServiceClient() throws Exception {
MyServiceService service = new MyServiceServiceLocator();
MyService_PortType client = service.getMyService() ;
String ret = client.processService("This is Junit Test!");
System.out.println(ret);
}
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(new TestClient("MyServiceClient"));
return suite;
}
}
编译上面四个service文件,并编译运行 TestClient.java ,看到屏幕打印出:" This is Junit Test!"
分享到:
相关推荐
webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例
WebService之Axis2实例是Web服务开发中的一个重要环节,它基于SOAP协议,允许不同平台和语言间的应用程序进行通信。本文将详细介绍Axis2实例的创建、配置和运行,以及如何利用Eclipse IDE、JDK 1.7和Tomcat 7.0进行...
** Axis 实现 WebService 完整实例** 在 IT 领域,Web 服务是一种用于应用程序之间进行通信的标准协议,而 Axis 是一个流行的开源 Java 框架,它允许开发者轻松地创建和部署 Web 服务。本实例将详细介绍如何使用 ...
这里,`myWebService`是你的Web服务实现,`axisConfig`用于指定Axis2的配置,而`springService`负责加载Spring配置并注册Web服务。 - **运行和测试**:完成上述配置后,启动Spring容器,Axis2会自动发现并发布Web...
在开发之前, 先了解一下AXIS,axis目前出现的2版本以其灵活性,快速开发工具的集成高于xfire而使用者居...这是对此版本的基本功能与简单实例的描术) 本人的开发环境eclipse3.2 ,tomcat5.0.28 ,jdk1.4 axis_1.4目前最新版
在"webservice之axis实例,axis复杂对象"这个主题中,我们将关注以下核心知识点: 1. **SOAP与WSDL**: SOAP是一种轻量级的消息协议,用于在Web上交换结构化的和类型化的信息。WSDL则是一种XML格式,用来描述Web...
Apache Axis是Java平台上的一个开源工具,专门用于创建和部署Web服务,它为开发人员提供了方便的方式来实现这些服务。本篇文章将深入讲解如何使用Apache Axis1.4实现Web服务。 首先,我们需要理解Axis1.4的特点。...
【标题】中的“基于axis2实现的webservice简单实现(客户端+服务端)”表明了本文将探讨如何使用Apache Axis2框架来创建和消费Web服务。Apache Axis2是Apache软件基金会开发的一个Web服务引擎,它提供了高效且灵活的...
3. **服务编写**:Axis2服务通常基于Java接口和实现。接口定义服务的契约,实现提供实际业务逻辑。使用WSDL(Web Service Description Language)文件可以自动生成这些接口和实现。 4. **配置文件**:Axis2使用axis...
Java Axis WebService 开发实例详解 在Java世界中,开发Web服务时,Axis是一个非常流行的开源工具,它允许开发者创建、部署和使用Web服务。本实例将深入探讨如何使用Axis来构建一个简单的Web服务,并进行调用。这个...
标题中的“axis2webservice接口例子”指的是使用Apache Axis2框架创建的一个Web服务接口实例。Apache Axis2是Java平台上的一款强大的Web服务开发工具,它提供了高效、灵活且可扩展的环境来构建和部署Web服务。这个...
在这个"WebService Axis1.4接口服务序列/反序列复杂项目实例"中,我们将深入探讨如何在 Axis1.4 中处理复杂的参数、自定义实体对象的序列化与反序列化,以及客户端的复杂调用。 首先,让我们理解序列化和反序列化的...
本实例将探讨如何在Tomcat服务器上使用Axis来实现一个简单的WebService,并通过具体的源码分析加深理解。 【描述】中提到的"Tomcat+Axis+WebService 入门实例"旨在帮助初学者掌握如何利用这些组件进行通信。首先,...
标题中的“详解axis调用webservice实例”表明我们将探讨如何使用Apache Axis库来调用Web服务。Apache Axis是一个开源工具,它允许Java开发者创建、部署和使用Web服务。在这个实例中,我们会有机会看到实际的Java代码...
WebService入门简单实例(采用AXIS的方式) WebService是一种基于XML的开放标准,用于在不同系统间交换数据和服务。它允许不同的应用程序、操作系统甚至编程语言之间进行互操作,通过HTTP协议进行通信,实现分布式...
Axis1.4是Apache Axis的一个版本,它是一个流行的开源工具,用于实现和部署Java Web服务。Apache Axis1.4支持SOAP(Simple Object Access Protocol)和WSDL(Web Services Description Language),这两种技术是构建...
【Axis开发Web Service实例】 Apache Axis 是一个开源的Web Service框架,它允许开发者轻松地创建和部署Web服务。本文将详细介绍使用Axis开发Web服务的全过程,包括安装、编写服务、发布服务以及客户端调用。 **一...
总结来说,"webservice axis开发示例"是一个帮助开发者学习如何使用Apache Axis创建和使用Web服务的实例,其中包含必要的库文件和可能涉及邮件处理的示例代码。通过这个示例,开发者可以深入理解Web服务的工作原理,...
【标题】:“webService axis2 demo” 在IT领域,Web服务是一种通过互联网交换数据和实现功能的方法。Web服务的核心技术之一是Axis2,它是Apache软件基金会开发的一个强大的Web服务引擎,用于处理SOAP(简单对象...
虽然描述中没有给出具体的经典实例,但通常情况下,一个典型的Axis开发实例可能涉及创建一个简单的数学运算服务,例如提供加法、减法、乘法和除法的功能。然后,通过Ant部署这个服务,并创建一个简单的Java客户端来...