`

Axis初学手册 -- 1

阅读更多

这些天稍微玩了一下

Axis,以前做WebServices都使用JBuilder,感觉做WebServices如此简单,现在自己手动做,原来也是如此简单。高兴之余写一个简单的初学手册,就算是学习成果吧。当然对Axis理解的还不很深,所以错误之处望指点。

Axis是一个实现WebServiceFrameworkApache Web Services Projecthttp://ws.apache.org )的一个之项目,现在这个项目有很多之项目 Axis(http://ws.apache.org/axis/ )是其中一员,还有XML-RPC(这个也是我比较喜欢的东东J)。

现在Axis主要由两个版本一个是Axis一个是Axis2。两个好象有比较多的不同,我这里说的是Axis,过几天演技一下Axis2,然后再写一篇吧。

好了现在开始做个WebService 吧:

第一步当然是先去Axis主页下载一个来啦。下Release就行,最新的是1.2.1source好象没有打包的只有CVS的。下来以后解压缩,主要有以下文件夹

Docs 顾名思义,这里放的是文档,其实Axis的文档作的很好,我就是按照它的User Guide一步步做下来的。

Lib 运行Axis时要用到的jar包,要完全正常运行还缺两个mail.jar activation.jar 这两个是javaMail包,到处都能弄到。

Samples Axis自带的例子包括很多种应用

Webapps  Axis是发布到Servlet Container中的,要把Axis集成到你的项目中,就把这个文件夹里的内容合并到你的项目中就行了。

还有一个xmls文件夹,放得是一些可能用到的xml例子。

 

第二步,建一个项目,Web项目,用Eclipse或者Idea都可以啊。如果你非要用记事本类的东西,我也不拦着你。

Axis中的Webapps\axis文件夹下的东西统统Copy到你的Web文件夹下。其实有些东西是没用的,比如classes文件夹里的东西都可以去掉了,还有那几个jws文件也没有用。虽然axis最方便的发布WebServices的方法是把你的.java改成.jws的放到Web发布文件夹下的根目录下,但是这种方法没有什么适用价值。然后运行以下Tomcat(或者其他的Application Server)。然后浏览一下你的刚刚发布的这个项目,如果正常的话就可以看到Axis的默认画面,
axis1.jpg
这个页面不是必须的,在真正项目开发中可以把它去掉或换个名字。点击
List连接进入已经发布的WebServices列表。
axis2.jpg
开始时应该只有
AdminServiceVersion。后面两个就是我们在下面要做的WebServices

 

第三步,如果上面的一切正常,就可以正式开始做WebServices了。首先做一个Services实现类。Calc.java有两个方法plussubtract。这个Service所用到的数据类型都是基本类型。

然后在WEB-INF目录下加入一个server-config.wsdd。这是WebServices的发布描述文件,作用类似于web.xml。它有自己的格式,但是具体的标记是什么样子的,在Axis的文档中没有详细的一一列出,只是提到了常用的一些。在axis的源码中有一些wsddXSD文件,如果你用的是IDEA可以把这些XSD映射到uri,这样编辑器就有提示了。

下面这我们本文中的server-config.wsdd的样子:

这个文件比Axis自带的那些deploy.wsdd要多很多东西,在Axis的文档中它使用命令来把对deploy.wsdd进行发布的。在我的例子中是直接把server-config.wsdd写好放到WEB-INF下。所以要把Service上面那些东西加上,否则系统不能正常运行。

Calc的发布描述。其中scope属性默认是request所以不写也可以。其他parameter看名字就知道干什么的了。这样你在List页面中就可以查看CalcServiceWSDL了。

 

未完待续.......

    <service name="CalcService" provider="java:RPC">
        
<parameter name="allowedMethods" value="*"/>
        
<parameter name="className" value="org.mstar.ws.Calc"/>
        
<parameter name="scope" value="request"/>
    
</service>
<?xml version="1.0" encoding="UTF-8"?>
<deployment name="defaultClientConfig"
            xmlns:java
="http://xml.apache.org/axis/wsdd/providers/java"
            xmlns:handler
="http://xml.apache.org/axis/wsdd/providers/handler" xmlns="http://xml.apache.org/axis/wsdd/">
    
<globalConfiguration name="defaultClientConfig">
        
<requestFlow name="RequestFlow1">
            
<handler name="Handler1" type="java:org.apache.axis.handlers.JWSHandler">
                
<parameter name="scope" value="session"/>
            
</handler>
            
<handler name="Handler2" type="java:org.apache.axis.handlers.JWSHandler">
                
<parameter name="scope" value="request"/>
                
<parameter name="extension" value=".jwr"/>
            
</handler>
        
</requestFlow>
    
</globalConfiguration>
    
<handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
    
<handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
    
<handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
    
<transport name="http">
        
<requestFlow name="RequestFlow1">
            
<handler name="Handler1" type="URLMapper"/>
            
<handler name="Handler2" type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
        
</requestFlow>
    
</transport>
    
<transport name="local">
        
<responseFlow name="ResponseFlow1">
            
<handler name="Handler1" type="LocalResponder"/>
        
</responseFlow>
    
</transport>
    
<service name="AdminService" provider="java:MSG">
        
<parameter name="allowedMethods" value="AdminService"/>
        
<parameter name="enableRemoteAdmin" value="false"/>
        
<parameter name="className" value="org.apache.axis.utils.Admin"/>
        
<namespace>http://xml.apache.org/axis/wsdd/</namespace>
    
</service>
    
<service name="Version" provider="java:RPC">
        
<parameter name="allowedMethods" value="getVersion"/>
        
<parameter name="className" value="org.apache.axis.Version"/>
    
</service>
    
<service name="CalcService" provider="java:RPC">
        
<parameter name="allowedMethods" value="*"/>
        
<parameter name="className" value="org.mstar.ws.Calc"/>
        
<parameter name="scope" value="request"/>
    
</service>
    
<service name="FooService" provider="java:RPC">
        
<parameter name="allowedMethods" value="*"/>
        
<parameter name="className" value="org.mstar.ws.FooService"/>
        
<parameter name="scope" value="session"/>
        
<typeMapping encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                     xmlns:ns1
="http://ws.mstar.org"
                     qname
="ns1:FooBean"
                     languageSpecificType
="java:org.mstar.ws.FooBean"
                     serializer
="org.apache.axis.encoding.ser.BeanSerializerFactory"
                     deserializer
="org.apache.axis.encoding.ser.BeanDeserializerFactory"
                     name
="FooBean"/>
        
<requestFlow name="requestFlow1">
            
<handler name="Handler1" type="java:org.mstar.ws.FooHandler"/>
        
</requestFlow>
        
<responseFlow>
            
<handler name="Handler1" type="java:org.mstar.ws.FooHandler"/>
        
</responseFlow>
    
</service>
</deployment>
public class Calc {
    
public int plus(int a,int b){
        
return a+b;
    }

    
public int substract(int a,int b){
        
return a-b;
    }
}
分享到:
评论

相关推荐

    axis入门教程-开发详解

    本教程将深入浅出地介绍如何使用Axis进行Web服务的开发,帮助初学者快速掌握相关技能。 1. **什么是Web服务**:Web服务是一种基于互联网的应用程序接口,它允许不同系统之间通过标准协议进行通信。常见的Web服务...

    Axis2-study.zip_axis2_doc

    "Axis2-study.zip_axis2_doc"压缩包包含的"Axis2-study.pdf"文件很可能是Axis2的详细学习资料,覆盖了Axis2的基本概念、架构、特性、服务创建与调用方法等内容,对于初学者或希望深入了解Axis2的开发者来说是一份...

    myeclipse集成axis2

    【压缩包子文件的文件名称列表】中只有一个"axis2文档",这可能是一个包含Axis2使用教程、API文档或者配置手册的资料集合,对于初学者来说,这是了解和掌握Axis2在MyEclipse中使用的重要资源。 综合上述信息,我们...

    axis1的示例和webservice开发手册

    【标题】:“Axis1的示例与Web服务开发手册” 【描述】中提到的“Axis1的示例”是一个实际的应用实例,它展示了如何利用Apache Axis1框架来创建和使用Web服务。Apache Axis1是一个开源的Java库,专门用于构建和部署...

    axis开发使用手册

    无论你是初学者还是经验丰富的开发者,AXIS都能帮助你高效地构建和维护Web服务。通过实践和探索,你可以进一步利用AXIS的高级特性,如消息处理器、模块、消息传输机制等,以满足复杂的业务需求。

    highcharts实例配置手册-2014最新版

    本手册将详细解读“Highcharts实例配置手册-2014最新版”中的关键配置项,并通过一个具体的例子来说明如何配置和展示折线图。 #### 核心配置项详解 - **xAxis**: 定义X轴的相关属性。 - `categories`: 指定X轴上的...

    WebService-Axis2 详细讲解

    1. **消息处理**:Axis2能够处理SOAP 1.1和1.2消息,同时支持RESTful服务。它使用了模块化的架构,使得添加新的消息格式变得更加容易。 2. **模块化**:Axis2的设计基于模块化概念,每个模块都有特定的功能,如MTOM...

    axis2创建webservice操作手册.doc

    ### axis2创建webservice操作手册知识点详述 #### 1. 引言 ##### 1.1 目的 本文档旨在为初次接触WebService技术的开发者提供一份详细的操作指南,帮助他们了解WebService的基本原理以及如何使用Axis2框架来构建...

    java-axis2.rar

    - **文档**:可能有Axis2的用户手册、API文档或教程,帮助开发者了解更多信息。 为了使用这个压缩包,你需要先将其解压,然后根据文档的指示配置环境,可能需要将库文件添加到项目的类路径中,编写服务代码,并使用...

    axis2 webservice入门手册(JS,Java,PHP调用实例源码)www.sietoo.com出品

    ### Axis2 WebService 入门手册知识点详解 #### 一、Axis2简介 **1. AXIOM (AXIs Object Model)** - **定义**:AXIOM 是 Axis2 中用于处理 XML 的核心模型。它不同于传统的 DOM 和 SAX 解析方式,提供了更高效、...

    axis2发布webservice和调用实例

    - "51CTO下载-Axis2 WebService手册.doc":这份文档可能提供了关于Axis2 Web服务的详细步骤,包括环境配置、服务发布、客户端调用等,是初学者的良好指南。 - "服务端":可能包含服务端的源码或配置文件,供学习者...

    axis example.doc

    同时建议下载文档包DOCS,其中包含了用户手册和快速入门指南等资料,对于初学者来说非常有用。 #### 配置Tomcat 1. **部署WAR文件**:将下载的WAR文件复制到Tomcat的`webapps`目录下。 2. **启动Tomcat**:启动...

    matplotlib初学者手册.pdf

    Matplotlib初学者手册 Matplotlib是一个Python库,用于创建二维图表。它遵循设计哲学,即使用简单的命令创建简单的图表。 安装Matplotlib 在开始使用Matplotlib之前,需要先安装它。你可以使用pip安装Matplotlib...

    axis2创建webservice

    1. **准备环境**:确保已经安装了Java Development Kit (JDK) 和 Apache Axis2。可以从Apache官方网站下载最新版本的Axis2发行版。 2. **编写服务接口和服务实现**:首先,定义一个Java接口,这个接口代表了Web服务...

    Develop Web Services With Apache Axis

    总而言之,《使用Apache Axis开发Web服务》不仅是一本实用性极强的技术手册,更是一部引导初学者快速掌握Web服务开发技能的指南。无论是对于刚接触Web服务的新手还是寻求提升技术水平的开发者来说,这本书都是...

    Developing Web Services with Apache CXF and Axis2_3rd Edition

    《开发Web服务:使用Apache CXF与Axis2》不仅是一本详尽的技术指南,也是一部实践手册,它通过丰富的示例和深入浅出的解释帮助读者快速掌握Web服务的核心技术和最佳实践。无论是初学者还是有经验的开发者,都能从中...

    Asis2(文档+BIN+WAR+代码+配置)

    最后,`axis文档.zip`包含了Axis2的官方文档,可能包括用户指南、开发者手册、API文档等。这些文档将帮助用户深入理解Axis2的内部工作原理,以及如何进行高级定制和优化。 总的来说,这个压缩包提供了一个全面的...

    ECharts开发手册.zip

    ECharts是一款由百度...无论你是初学者还是有经验的开发者,都能从中找到所需的信息,提升数据可视化的技能。通过深入学习这个手册,你将能够创建出美观、交互性强的数据可视化应用,有效地传达复杂数据背后的故事。

    Web-Service学习手册(Xfire).docx

    Axis适合初学者,因为它的文档和社区支持广泛。Xfire以其简洁和速度受到青睐,而CXF由于其全面的功能和强大的企业级支持,常用于大型项目。 【开发篇】 2.1 Xfire 2.1.1 下载 Xfire 开发者可以从官方网站或其他...

Global site tag (gtag.js) - Google Analytics