Axis --SOAP引擎
1. 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://www.01chengde.cn,如果页面显示有错误,则需要回头检查一下相关配置是否正确,如果浏览页面能正确显示出系统组件、属性等参数配置信息,则表示安装成功。现在可以开始开发你的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://www.01chengde.cn可以看到这个服务的WSDL描述文件,这说明Distance服务被成功发布了。描述的WDSL代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://www.jingjingdianying.com" 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://dy.01chengde.cn" 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>
转载于:https://blog.51cto.com/7419391/1225031
Axis --SOAP引擎相关推荐
- EJB3.0学习笔记--SOAP-AXIS--深入Soap引擎
1.SOAP: 简单对象访问协议,简单对象访问协议(SOAP)是一种轻量的.简单的.基于 XML 的协 议,它被设计成在 WEB 上交换结构化的和固化的信息. SOAP 可以和现存的许多因特网 ...
- 用axis开发webservice实践
什么是SOAP? SOAP是一个基于XML的用于应用程序之间通信数据编码的传输协议.最初由微软和Userland Software提出,随着不断地完善和改进,SOAP很快被业界广泛应用. 什么是Axi ...
- 阿翔编程学-Axis
Axis篇 Axis简介 Axis是Apache组织推出的SOAP引擎,Axis项目是Apache组织著名的SOAP项目的后继项目,目前最新版本是采用Java开发的1.1版本,C++的版本正在开发之中 ...
- java soap 客户端_java实现soap客户端
JSR 109 -- J2EE 环境的 API JSR 109 指定了 Java 2 Enterprise Edition(J2EE)环境的 Web 服务编程模型和体系结 构.JSR 109 构建在 ...
- java中soap是什么,java中的soap的通讯
由于 gSOAP 具有相当不错的兼容性, 通过 gSOAP, 我们就可以调用由 Java, .Net, Delhpi, PHP 等语言开发的 SOAP 服务,或者向它们提供 SOAP 服务. gSOA ...
- Java写 soapclient_Java for Web学习笔记(一一八):【篇外】Soap client
使用Eclipse自动生成Soap Client的代码 在项目按右键,选择New -> Other ->Web Services -> Web Service Client,进入向导 ...
- Web 服务寻址(WS-Addressing)对 SOAP 的隐式影响
文档选项 <tr valign="top"><td width="8"><img alt="" height= ...
- Java for Web学习笔记(一一八):【篇外】Soap client
使用Eclipse自动生成Soap Client的代码 在项目按右键,选择New -> Other ->Web Services -> Web Service Client,进入向导 ...
- java中最常用jar包的用途说明,适合初学者
jar包 用途 axis.jar SOAP引擎包 commons-discovery-0.2.jar 用来发现.查找和实现可插入式接口,提供一些一般类实例化.单件的生命周期管理的常用方法. jaxrp ...
最新文章
- systemctl介绍
- 将DataTable中的数据一次性提交到数据库中
- 还在手写 Getter/Setter 方法吗?Lombok 让你的代码更简洁!
- STM32工作笔记0025---理解并联电阻分流
- java获取本地mac地址
- 允许我在这里吐槽一下某宝客的代码
- ecmall ajax,ajax
- JavaScript函数的两种声明方式(4)
- 1. 少了一个PermMissingElem Find the missing element in a given permutation.
- flutter推荐路由器插件:go_router
- mysql id自动增长_MySQL中的6种约束,你掌握了几种?
- JAVA IO - 高效读取大文件的后几行
- oracle数据库简单的学多久,讲讲新人的oracle数据库学习
- C++ Reference: Standard C++ Library reference: C Library: cstdlib: atoll
- 计算机道德 英语作文,关于道德英语作文
- java对excel加密_java poi对Excel文件加密
- Rust语言教程(1) - 一门没有GC的语言
- css3 svg 背景图 data:image/svg+xml;base64
- 开源jar包被各网站封锁收费?教你如何搜索并下载想要jar
- HTML5之HTML+CSS3代码(一)
热门文章
- python实验指导书2018_python实验指导书
- matlab理想低通滤波器代码_自己动手,解开Matlab下AMD锐龙处理器性能封印
- java表单提交包含文件_如何同时提交表单中的文件和文本
- mysql数据库备份报错145_mysql数据库导出时报错mysqldump: Got error: 145的解决方法
- 单位员工通讯录管理系统(线性表的应用)
- [NOI2015]品酒大会
- java应用:csv文件的读写
- 认识HTML5的WebSocket
- 数据结构C语言版之查找(折半选择快速等)
- MySql的优化步骤