一.简介 什么是SOAP?SOAP是一个应用程序间的基于XML的通信工具和规范.SOAP最初由MicroSoft和Userland公司开发,已经演化了好几个版本,当前的版本SOAP1.1正飞速发展.W3C的XML协议工作组正努力把它发展为一个真正的开发的标准.SOAP1.2草案已经发布,它能澄清 1.1版规范的容易混淆的地方.
什么是Axis?Axis总体上是一个SOAP引擎,但又不仅仅是个引擎,它还:1)是一个简单的独立的服务器2)是一个可插入到servlet引擎(如Tomcat)中的服务3)可扩展的支持WSDL4)能根据WSDL产生JAVA文件/类5)包括一些例子程序6)包括一个可以监控TCP/IP包的工具
Axis起源于IBM的SOAP4J,是Apache SOAP的第三代产品,相对于以前的版本,它有如下特性:1)快速,它使用了基于事件的SAX解析机制.2)灵活,用户可以灵活定制扩展.3)稳定,接口将会变动很小.4)基于组件开发.5)支持WSDL1.1
二.准备应用Axis开发Web Services,你需要安装如下软件: 1.jdk1.5 2.安装Tomcat5.0.28,这是当前稳定版本.Tomcat运行在80端口.访问http://localhost/8080
检查Tomcat是否安装成功. 3.下载AXIS: 官方站点:http://xml.apache.org/axis/index.html 下载软件:axis-bin-1_2_1.tar.gz 4.下载相关包: a.mail.jar 下载地址:http://java.sun.com/products/javamail b.activation.jar 下载地址:http://java.sun.com/products/javabeans/glasgow/jaf.html c.xerces.jar 下载地址:http://xml.apache.org/xerces-j/index.html d.xmlsec-1.2.1.jar 下载地址:http://xml.apache.org/security/
三.安装 1.将jdk1.5.0_04安装在D:\jdk1.5.0_04下(当然安装路径可任意选)好后,环境变量配置如下: JAVA_HOME=D:\jdk1.5.0_04 CLASSPATH=.;D:\jdk1.5.0_04\jre\lib\rt.jar;D:\jdk1.5.0_04\jre\lib\tools.jar Path=D:\jdk1.5.0_04\bin 2.tomcat-5.0.28安装在D:\tomcat-5.0.28下(安装路径可任选)好后,环境变量配置如下: CATALINA_BASE=D:\tomcat-5.0.28 CATALINA_HOME=D:\tomcat-5.0.28 3.axis的安装 a.将下载的Axis软件包解压缩,将其中的“webapps”目录下的“axis”目录整个拷贝到Tomcat安装目录下的“webapps”目录下。 b.将mail.jar、activation.jar、xerces.jar、xmlsec-1.2.1.jar四个包,全部拷到D:\tomcat-5.0.28\webapps\axis\WEB-INF\lib下 c.环境变量配置 AXIS_HOME=D:\tomcat-5.0.28
AXIS_LIB=%AXIS_HOME%\WEB-INF\lib AXISCLASSPATH=%AXIS_LIB%\activation.jar;%AXIS_LIB%\axis.jar;%AXIS_LIB%\axis-ant.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.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_LIB%\mail.jar;AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\xerces.jar;%AXIS_LIB%\xmlsec-1.2.1.jar
CLASSPATH=%AXIS_HOME%\WEB-INF\lib AXISCLASSPATH=%AXIS_LIB%\activation.jar;%AXIS_LIB%\axis.jar;%AXIS_LIB%\axis-ant.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_L
IB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\xercesImpl.jar;%AXIS_LIB%\mail.jar;AXIS_LIB%\wsdl4j-1.5.1.jar;%AXIS_LIB%\xerces.jar;%AXIS_LIB%\xmlsec-1.2.1.jar 这里有几点需要注意:中间不要有空格,包的名字可能有不同的版本,这时需要修改一下包名。
四.测试安装配置完毕后,应测试一下是否tomcat、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”目录下即可。 在此给出一个HelloWorld程序,其源码如下:
HelloWorld.java
public class HelloWorld { public String sayHello() { return "HELLO WORLD!"; } }
将其放到“……\webapps\axis”目录,通过访问http://localhost:8080/axis/HelloWorld.jws?wsdl
可以看到这个服务的WSDL描述文件,这说明HelloWorld服务被成功发布了。现在写个客户端程序访问一下:
TestClient.java
import org.apache.axis.client.Call; import org.apache.axis.client.Service;
import javax.xml.rpc.ParameterMode;
public class TestClient {
public static void main(String [] args) throws Exception {
String endpoint = "http://localhost
:" +"8080"+ "/axis/HelloWorld.jws";//指明服务所在位置
Service service = new Service(); //创建一个Service实例,注意是必须的!
Call call = (Call) service.createCall();//创建Call实例,也是必须的!
call.setTargetEndpointAddress( new java.net.URL(endpoint) );//为Call设置服务的位置
call.setOperationName( "sayHello" );/注意方法名与HelloWorld.java中一样!!
String res = (String) call.invoke( new Object[] {} );//返回String,没有传入参数
System.out.println( res );
}
}
下面我们介绍第二种发布方式,这是常用的。
我们的第二种发布方式: 1、将HelloWorld.java编译成HelloWorld.class,放到%TOMCAT_HOME%\webapps\axis\WEB-INF\classes 下
2、在%TOMCAT_HOME%\webapps\axis\WEB-INF下新建deploy.wsdd文件,即SOAP服务发布描述文件
deploy.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/
" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java
"> <service name="HelloWorld" provider="java:RPC"> <parameter name="className" value="HelloWorld"/> <parameter name="allowedMethods" value="sayHello"/> </service> </deployment>
在DOS下转换目录到%TOMCAT_HOME%\webapps\axis\WEB-INF,命令: java org.apache.axis.client.AdminClient deploy.wsdd 后会出现
Processing file deploy.wsdd <Admin>Done processing</Admin>
这时你会发现目录下多了一个server-config.wsdd文件,这就是AXIS的配置文件,以后所有的服务发布描述都会在里面找到。(当然,你可以直接修改它,不用再写deploy.wsdd)然后打开浏览器http://localhost:8080/axis/services/HelloWorld?wsdl
,你就会看到你的服务已发布
同样用客户端程序访问一下:(注意和上边的差别!!)
HelloClient.java
import org.apache.axis.client.Call; import org.apache.axis.client.Service;
public class HelloClient { public static void main(String [] args) throws Exception {
String endpoint = "http://localhost
:" +"8080"+ "/axis/services/HelloWorld";//注意!差别仅仅在这里!!
Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new java.net.URL(endpoint) ); call.setOperationName("sayHello" );
String res = (String) call.invoke( new Object[] {} );
System.out.println( res ); } }
五.总结
Web Services是未来网络应用的发展方向,SOAP和WSDL是Web Services的核心协议,Axis给出了一个很好的SOAP实现,它使得开发Web Services应用变得轻松而有趣。
分享到:
相关推荐
安装JDK后,我们需要配置环境变量,确保系统能够识别和使用Java命令。以下是配置步骤: 1. 首先,右键点击“我的电脑”并选择“属性”,然后在弹出的窗口中选择“高级”选项,接着点击“环境变量”。 2. 在“系统...
配置系统环境变量,确保`JAVA_HOME`指向你的JDK安装路径,而`AXIS2_HOME`指向Axis2的主目录。同时,确保`PATH`变量包含`JAVA_HOME/bin`和`AXIS2_HOME/bin`。 4. **配置Axis2服务**: 在浏览器中输入`...
确保MyEclipse已经配置好JDK,并且安装了Tomcat。 接下来,创建一个新的Web工程。在MyEclipse中新建一个名为`testAxis`的Web工程,其目录位于`D:\JavaProject\testAxis`。将`testAxis`部署到Tomcat服务器中,以便...
### Axis2 安装使用教程 #### 一、软件准备 在正式开始之前,需要确保以下软件和资源已经准备就绪: 1. **开发环境**: - MyEclipse 9.0 - Tomcat 6.0 - JDK 6 2. **MyEclipse 插件**: - `axis2-eclipse-...
安装完成后,记得将 Axis 的库文件(位于 axis-1_4\webapps\axis\WEB-INF\lib)复制到 Tomcat 的 common\lib 目录下,以确保 Axis 可以正常工作。 现在,我们可以开始创建 WebService 项目。在 Eclipse 中新建一个...
- **依赖冲突**:Tomcat和Axis2可能需要特定版本的JDK,以及与其他库的兼容性问题。 - **部署错误**:如XML配置错误、类加载问题等。 - **调试和日志**:利用Tomcat的内置日志功能和Axis2的日志记录,解决运行时问题...
确保你已安装了Tomcat 5.5.28和JDK 1.6或更高版本。启动Tomcat服务器,访问`http://localhost:8080/axis2`,如果一切顺利,你应该能看到Axis2的欢迎界面。为了验证所有必需的jar包都已就绪,你可以点击验证链接...
本文将详细介绍如何使用Eclipse集成开发环境和AXIS2框架创建并调用WebService。首先,我们需要准备以下基础工具: 1. Eclipse IDE:这是一个强大的Java开发平台,支持多种开发任务,包括Web服务的开发和调试。 2. ...
本文中使用的是JDK 5.0(源代码是1.4 的)。Tomcat 是5.0.28。 下载AXIS 1.4,地址http://ws.apache.org/ 安装AXIS 解压开axis1_ 4.zip ,将axis1_ 4/webapps/axis 拷贝到 $TOMCAT_HOME/webapps/ 下启动tomcat,打开...
1. **解压与安装**:首先解压 Axis 至相应目录(例如 `D:\`),安装 Tomcat 至 `C:\tomcat5`,安装 JDK 至 `C:\j2sdk1.4.2_05`。 2. **复制文件夹**:将 `D:\axis\webapp` 目录下的 `axis` 目录复制到 `C:\tomcat5\...
根据提供的文件信息,我们可以总结出以下关于如何使用 Axis 1.4 实现 Web Service 的全过程,包括所需的 JAR 包及配置步骤。 ### Axis 1.4 Web Service 实现全过程 #### 环境搭建 - **JDK**: 使用 JDK 1.5 版本。...
1. Java Development Kit (JDK):因为Tomcat和Axis2都是基于Java的,所以需要确保你的系统上已经安装了JDK。 2. Apache Tomcat 5.0:下载并配置Tomcat服务器,设置CATALINA_HOME环境变量指向Tomcat的安装目录。 3. ...
【Apache Axis2 安装与开发教程】 Apache Axis2 是一个强大的Web服务引擎,用于创建、部署和管理Web服务。本教程将引导你通过安装、配置以及开发基于Axis2的Web服务。 **1. 软件准备** 在开始之前,确保你已准备好...
在开发之前, 先了解一下AXIS,axis目前出现的2版本以其灵活性,快速开发工具的集成高于xfire而使用者居其上.用Eclipse开发,一开始就会想到xfire,它...本人的开发环境eclipse3.2 ,tomcat5.0.28 ,jdk1.4 axis_1.4目前最新版
【Axis2】Web服务引擎详解及新手入门 Axis2是Apache软件基金会开发的一款高级Web服务引擎,它是Axis1.x的全面升级版,旨在提供更高效、更灵活的Web服务实现。Axis2支持SOAP 1.1和1.2协议,并且集成了RESTful风格的...
本文将介绍如何在myEclipse10中使用Axis2插件与Tomcat6.0发布WebService。首先,我们需要了解Axis2是Apache软件基金会的一个开源项目,它是一个Web服务引擎,用于处理Web服务的发布、部署和管理。myEclipse10是一款...