AXIS项目
Axis框架来自 Apache 开放源代码组织,它是基于JAVA语言的最新的 SOAP 规范(SOAP 1.2)和 SOAP with Attachments 规范(来自 Apache Group )的开放源代码实现。有很多流行的开发工具都使用AXIS作为其实现支持Web服务的功能,例如JBuilder以及著名的Eclipse J2EE插件Lomboz。AXIS的最新版本是1.1,可以从 http://ws.apache.org/axis/index.html下载。
下图是AXIS核心引擎的体系结构图:
整个AXIS项目包括以下几个部分:
- 消息流子系统
消息流子系统提供了灵活的消息传递框架,这个消息传递框架包括处理程序、链、序列化程序和反序列化程序。处理程序是一个处理请求、响应和故障流的对象。处理程序可被组合在一起成为链,而且可以使用一个灵活的部署描述符来配置这些处理程序的顺序。
- 传输框架子系统
提供了一个传输框架,这个传输框架可以帮助您创建自己的可插式传输发送器和传输侦听器。
- 数据编码子系统
AXIS完全按照 XML Schema 规范提供各种数据类型的自动序列化,并且提供功能扩展接口来使用您自己定制的序列化器和反序列化器。
- 其他
AXIS完全支持 WSDL 以及日志记录、出错以及故障处理机制。它同时提供一些工具用来讲WSDL文档转换成客户端的调用框架以及根据类来产生WSDL定义文档。
AXIS目前版本支持的标准是:W3C SOAP 1.1 和 1.2;WSDL 1.1;SAAJ 1.1(SUN公司:SOAP with Attachments API for Java);JAX-RPC(SUN公司:Java API for XML-Based RPC)1.0。
一, 环境搭建
1,安装JDK1.5及以上.
2,安装Tomcat5及以上.
3,下载AXIS项目打包文件axis-1_1.zip解压缩后将目录中的webapps目录下的axis子目录拷贝到tomcat安装目录的webapps下
4验证AXIS的安装:重新启动Tomcat服务器后打开浏览器输入网址http://localhost:8080/axis 后应该出现如下图所示页面,点击链接"Validate"来验证Axis所需的几个JAVA包是否齐全。
点击超链接Validate后,AXIS会自动检查所需的每一个JAVA组件,这协组件分为:必需组件以及可选组件,必须保证所有必需组件都存在,如下图所示即为验证成功。
二, Web Service服务端开发
编写JAVA类Hello.java,内容如下:
public class Hello{
public String hello(String name){
if(name==null)
name = "";
return "hello,"+name+"";
}
}
|
仅此而已,无需编译,将该文件改名为Hello.jws并拷贝到AXIS应用目录tomcat安装目录的webapps\axis下。
下面我们就可以测试该Web服务了,打开浏览器并输入刚刚创建的文件名对应的URL地址 http://localhost:8080/axis/Hello.jws 浏览器显示如下结果:
|
点击页面上的链接查看该Web服务对应的WSDL信息如下所示(我们将在下一小节简单介绍WSDL):
1. <!--sp-->xml version="1.0" encoding="UTF-8" ?>
2. -<wsdl:definitions
3. targetNamespace="http://localhost:8080/axis/Hello.jws"
4. xmlns="http://schemas.xmlsoap.org/wsdl/"
5. xmlns="http://www.w3.org/2000/xmlns/"
6. xmlns:apachesoap="http://xml.apache.org/xml-soap"
7. xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
8. xmlns:impl="http://localhost:8080/axis/Hello.jws"
9. xmlns:intf="http://localhost:8080/axis/Hello.jws"
10. xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
11. xmlns:xsd="http://www.w3.org/2001/XMLSchema"
12. xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
13. - <wsdl:message name="helloRequest">
14. <wsdl:part name="name" type="xsd:string" />
15. wsdl:message>
16. + <wsdl:message name="helloResponse">
17. - <wsdl:portType name="Hello">
18. - <wsdl:operation name="hello" parameterOrder="name">
19. <wsdl:input name="helloRequest" message="intf:helloRequest" />
20. <wsdl:output name="helloResponse" message="intf:helloResponse" />
21. wsdl:operation>
22. wsdl:portType>
23. - <wsdl:binding name="HelloSoapBinding" type="intf:Hello">
24. <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
25. - <wsdl:operation name="hello">
26. <wsdlsoap:operation soapAction="" />
27. - <wsdl:input name="helloRequest">
28. <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
29. namespace="http://DefaultNamespace" />
30. wsdl:input>- <wsdl:output name="helloResponse">
31. <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
32. namespace="http://localhost:8080/axis/Hello.jws" />
33. wsdl:output>
34. wsdl:operation>
35. wsdl:binding>
36. - <wsdl:service name="HelloService">
37. - <wsdl:port name="Hello" binding="intf:HelloSoapBinding">
38. <wsdlsoap:address location="http://localhost:8080/axis/Hello.jws" />
39. wsdl:port>
40. wsdl:service>
41. wsdl:definitions>
三, Web Service客户端开发
(java客户端)
我们前面安装的AXIS环境中已经包含着这样的工具,它是一个JAVA类,类名为:org.apache.axis.wsdl.WSDL2Java。打开命令行窗口,转到AXIS目录下的WEB-INF子目录。确保Tomcat服务已经处于启动状态,键入命令 :
Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/Hello.jws?wsdl
结果是在当前所在目录下产生一个子目录 localhost/axis/Hello_jws,该目录下有四个JAVA源文件:
Hello.java 定义了Web服务接口,此例中只有一个hello方法。
HelloService.java 定义了用于获取Web服务接口的方法。
HelloServiceLocator.java 接口HelloService的具体实现。
HelloSoapBindingStub.java Web服务客户端桩,通过该类与服务器交互。
四,编写测试类
//Main.java
package localhost.axis.Hello_jws;
public class Main{
public static void main(String[] args) throws Exception{
HelloService service = new HelloServiceLocator();
Hello hello = service.getHello();
System.out.println("Response:"+hello.hello("world"));
}
}
用以下命令进行编译:
javac -classpath lib\axis.jar;lib\jaxrpc.jar localhost\axis\Hello_jws\*.java
如果编译没有问题的话执行该测试程序:
java -Djava.ext.dirs=lib -cp . localhost.axis.Hello_jws.Main//
运行结果:Response:hello,world
分享到:
相关推荐
### Axis开发WebService实例知识点解析 #### 一、Axis概述与安装配置 - **Apache Axis简介**:Apache Axis是Apache组织提供的一个开源项目,用于在Java环境中实现WebService技术规范。它支持SOAP协议,并提供了...
标题中的“详解axis调用webservice实例”表明我们将探讨如何使用Apache Axis库来调用Web服务。Apache Axis是一个开源工具,它允许Java开发者创建、部署和使用Web服务。在这个实例中,我们会有机会看到实际的Java代码...
webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例webService—Axis实例
标题中的“axis调用webservice实例”涉及到的是在Java开发中使用Apache Axis库来调用Web服务的过程。Apache Axis是一个开放源代码的SOAP栈,它允许开发者创建和部署Web服务,同时也提供了客户端工具来调用这些服务。...
通过这个简单的Java Axis WebService实例,你应该对Web服务的开发有了初步的认识。继续深入学习,包括理解SOAP消息结构、WSDL的细节以及如何处理更复杂的数据类型,将使你成为Web服务开发的专家。实践中不断探索,祝...
### Java开发WebService实例详解 在IT领域,尤其是企业级应用开发中,WebService作为一种标准化的、跨平台的服务交互方式,被广泛应用于系统间的数据交换与服务调用。本文将基于给定的“Java开发WebService实例”...
标签“axis2”、“webservice”和“java”进一步确认了这个实例是关于使用Java语言和Axis2框架来开发Web服务的。在Java中,Web服务通常基于SOAP(简单对象访问协议)或REST(Representational State Transfer)架构...
标题中的“axis2webservice接口例子”指的是使用Apache Axis2框架创建的一个Web服务接口实例。Apache Axis2是Java平台上的一款强大的Web服务开发工具,它提供了高效、灵活且可扩展的环境来构建和部署Web服务。这个...
java基于axis的webservice实例,包含服务器端和客户端,开发工具为eclipse,下载后将TestServiceLocator类的地址改成你服务器端所在的机器ip地址,然后部署到tomcat中部署既可以运行。有问题可以留言
Axis 是 Apache 组织开发的 Java WebService 工具包,它简化了 WebService 的开发过程。Axis 支持 SOAP 1.1 和 1.2,以及 WSDL 1.1 标准,允许开发者快速创建服务端和客户端代码。 ### 3. Axis 服务端实现 - **...
在本实例中,我们将深入探讨如何使用Axis开发一个简单的"Hello World" WebService。这个教程是基于网上流行的一个文档,但原文档存在四处错误,我已经进行修正并经过Eclipse IDE的调试验证,确保其正确无误。 首先...
标题中的“Axis2 WebService 实例”是指一个用于学习和实践Web服务开发的项目,它基于Apache Axis2框架。Apache Axis2是Java平台上的一个Web服务引擎,专门用于构建和部署Web服务。这个实例提供了服务端和服务端所需...
这个实例程序包含了实现和消费Axis2 Web服务所需的所有组件,包括必要的库文件(jar包)以及客户端和服务器端的代码示例。下面将详细阐述Axis2 Web服务的核心概念、工作原理以及如何利用提供的实例程序进行学习和...
总结,"Axis WebService 实例源码"是一个很好的学习资源,它涵盖了从设置开发环境到实现、部署和测试Web服务的基本步骤。通过深入研究这个实例,开发者可以更好地理解和掌握基于Java的Web服务开发。
描述 "Axis2整合Spring的Web开发实例" 提示我们,这个例子不仅涵盖了基础的Axis2 Web服务创建,还涉及到Spring框架的集成。Spring是一个广泛使用的Java企业级应用框架,它提供了诸如依赖注入、面向切面编程(AOP)...
为了更好地理解和实践这些步骤,可以参考给定的文档“Eclipse开发Axis_WebService实例总结_20100430.doc”。这个文档通常会包含详细的步骤、截图以及可能遇到的问题和解决方案,对于初学者非常有帮助。 总结,发布...
标题中的“axis开发webservice客户端”指的是使用Apache Axis框架创建并使用Web服务客户端的过程。Apache Axis是Java平台上的一个开源工具,它简化了SOAP(Simple Object Access Protocol)Web服务的开发,包括...
本文档主要介绍了如何使用Eclipse和AXIS框架开发和发布Web服务,以及进行客户端测试。以下是详细步骤和关键知识点: 1. **Eclipse插件安装**: - Eclipse提供了Web服务开发的插件,可以从官方网站下载WTP(Web ...