`

Axis开发WebService 指南

 
阅读更多

 

Axis开发WebService 指南

一、 开发环境

l          MyEclipse 6.5

l          Tomcat 6.0.24

l          Jdk 1.6.0_22

l          Axis1.4

 

二、Axis简介:



 

axis全称Apache EXtensible Interaction System 即 阿帕奇 可扩展交互系统。Axis本质上就是一个SOAP引擎,提供创建 服务器 端、客户端和网关SOAP操作的基本框架。Axis目前版本是为Java编写的,不过为C++的版本正在开发中。但Axis并不完全是一个SOAP引擎,它还是一个独立的SOAP服务器和一个嵌入Servlet引擎(例如Tomcat)的服务器。

下载1.4 Final 链接地址:

http://ws.apache.org/axis/

 

三、Java开发Webservice 示例

Axis支持三种WebService 的部署和开发,分别为:
    1、Dynamic Invocation Interface(DII)方式
    2、Dynamic Proxy方式
    3、Stubs方式

Stubs方式是最通用的做法,又因其灵活的特点,建议使用这种方式.

下面是详细的开发步骤:

1)       创建web工程

1、  MyEclipse 6.5创建web project,取名为axistest;

2、  新建文件夹 文件夹名为lib ,然后 将下载下来的axis 其 axis-1_4\lib 目录下的jar 拷贝到ib目录下,将这些jar引入到axistest classpath 下,如图:



 

2) .编写Server 程序

1、  新建class,包取名:server  类名:HelloServer

声明sayHello方法,具体代码如下:


package Server;

/**

 * 开发webservice: 服务器端

 * @author lvqing

 *

 */

 

public class HelloServer {

 

public String sayHello(String name){

return "hello:"+name;

}

}
 

结构图:



 

2、配置web.xml

web.xml文件很容易配置,拷贝axis包里面的WebService示例的web.xml配置到我们的工程中的web.xml中就可以了。

·

<?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.5"   
    xmlns="http://java.sun.com/xml/ns/javaee"   
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  <welcome-file-list>  
    <welcome-file>index.jsp</welcome-file>  
  </welcome-file-list>  
    
    <!-- =============== Axis Webservice =============-->  
    <servlet>  
        <servlet-name>AxisServlet</servlet-name>  
        <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>  
    </servlet>  
    <servlet>  
        <servlet-name>AdminServlet</servlet-name>  
        <servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class>  
        <load-on-startup>100</load-on-startup>  
    </servlet>  
    <servlet>  
        <servlet-name>SOAPMonitorService</servlet-name>  
        <servlet-class>org.apache.axis.monitor.SOAPMonitorService</servlet-class>  
        <init-param>  
            <param-name>SOAPMonitorPort</param-name>  
            <param-value>5001</param-value>  
        </init-param>  
        <load-on-startup>100</load-on-startup>  
    </servlet>  
    <servlet-mapping>  
        <servlet-name>AxisServlet</servlet-name>  
        <url-pattern>/servlet/AxisServlet</url-pattern>  
    </servlet-mapping>  
    <servlet-mapping>  
        <servlet-name>AxisServlet</servlet-name>  
        <url-pattern>*.jws</url-pattern>  
    </servlet-mapping>  
    <servlet-mapping>  
        <servlet-name>AxisServlet</servlet-name>  
        <url-pattern>/services/*</url-pattern>  
    </servlet-mapping>  
    <servlet-mapping>  
        <servlet-name>SOAPMonitorService</servlet-name>  
        <url-pattern>/SOAPMonitor</url-pattern>  
    </servlet-mapping>  
    <mime-mapping>  
        <extension>wsdl</extension>  
        <mime-type>text/xml</mime-type>  
    </mime-mapping>  
    <mime-mapping>  
        <extension>xsd</extension>  
        <mime-type>text/xml</mime-type>  
    </mime-mapping>  
    
</web-app>  
 

3) 部署 web project

利用MyEclipse部署工具 将我们的项目部署到Tomcat\webapp目录下




 
 

4) 创建 deploy.wsdd文件

这个文件可以在任意目录下创建,但是为了维护方便 ,我将它创建在zxistest 项目Src:目录下:

示例代码:


<deployment xmlns="http://xml.apache.org/axis/wsdd/" 

    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> 

    <!-- 这里的helloserver为wsdd描述符中的ServiceNamespace  --> 

    <service name="helloserver" provider="java:RPC"> 

        <!-- 这里的ClassName就是我的服务类了,这个服务主要功能就是传递一个自定义的对象  --> 

        <parameter name="className" value="Server.HelloServer" /> 

        <!-- 这里描术的意思是,此服务类中的方法全部享出来. value值为*号 

        如果你只想让你的客户端只能调用其中一个方法时,value值改为方法名就可以了. --> 

        <parameter name="allowedMethods" value="*" /> 

    </service> 

</deployment>
 

5) 生成 server-config.wsdd  文件

server-config.wsdd 文件是WebService的核心配置文件。Web服务能否发布,很大程度上取决于次文件的配置

这里 我们写个批处理脚本deploy.bat:

set Axis_Lib=D:\workspace\MEE\NMA\axistest\lib

set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%

set Axis_Servlet=http://localhost:8080/axistest/servlet/AxisServlet

%Java_Cmd% org.apache.axis.client.AdminClient -l %Axis_Servlet% deploy.wsdd

pause;

接下来,在执行deploy.bat前,请确保Tomcat 服务已运行,否则在Dos命令窗口中看到如下错误:



 

看到如下图运行的结果,表明已经在Tomcat\webapps\axistest\WEB-INF目录下 生成了server-config.wsdd文件. (Activation.jar 和 mail.jar这两个包虽然没有加入到CLASSPATH中,但是不影响我们的开发。)



 

好了,大功告成了!webservice 发布成功了,重启Tomcat,我们来测试一下,看是否发布成功.

在IE上输入: http://localhost:8080/axistest/services/helloserver?wsdl

看到如图结果表明发布成功:



 

6) 生成客户端Client wsdl文件

在IE上输入: http://localhost:8080/axistest/services/helloserver?wsdl ,点击文件 另存为.存到a xistest 项目Src:目录下

7)Wsdl2Java

为了方便,我们写个批处理脚本 WSDL2Java.bat

set Axis_Lib=D:\workspace\MEE\NMA\axistest\lib

set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%

set Output_Path=D:\workspace\MEE\NMA\axistest\src

set Package=client

%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o %Output_Path% -p %Package% helloserver.wsdl

pause;

解释下此命令:

%Output_Path%是客户端文件输出路径,%Package%是包名

这时 我们可以看到 a xistest 工程下已经生成了客户端程序,如图:



 

8) 客户端测试代码


package client;

 

import java.net.URL;

 

/**

 * webservice  客户端 程序

 */

public class ClientTest {

public static void main(String[] args) {

HelloServerService service = null; 

        HelloServer helloServer = null; 

        try { 

            System.out.println("connect......"); 

            String StrPortAddress = "http://localhost:8080/axistest/services/helloserver"; 

            URL portAddress = new URL(StrPortAddress); 

            // 得到客户端服务 

            service = new HelloServerServiceLocator(); 

            // 得到客户端stub 

            helloServer = service.gethelloserver(portAddress);

            // 测试服务方法 

            String resultStr = helloServer.sayHello("iteye");

            System.out.println(resultStr); 

        } catch (Exception e) { 

            e.printStackTrace(); 

        } finally { 

            System.out.println("End."); 

        } 

}

}
 

终结 ……

  • 大小: 9.4 KB
  • 大小: 18.4 KB
  • 大小: 15.9 KB
  • 大小: 17.1 KB
  • 大小: 51.9 KB
  • 大小: 9.2 KB
  • 大小: 16.3 KB
  • 大小: 9.6 KB
分享到:
评论

相关推荐

    AXIS入门指南-webservice

    本指南旨在为初学者提供AXIS框架下开发WebService的详细步骤,涵盖了从获取开发资源、生成 stub、编写服务器端代码到客户端测试的全过程。AXIS是一个开源的Java库,它提供了创建、部署和使用Web服务的工具,是基于...

    axis2_WebService_开发指南

    Axis2_WebService_开发指南详细介绍了如何使用Axis2开发WebService。 首先,在进行Axis2的准备工作时,需要下载Axis2的相关jar包,这些依赖包可以在Axis2的官方网站上找到。截至文档提供的信息,最新的版本是1.5.4...

    axis2 webservice开发指南.pdf

    ### Axis2 WebService 开发指南知识点详述 #### 一、Axis2 WebService 技术概览 **Axis2** 是Apache的一个开源项目,旨在提供一个高性能、灵活且可扩展的Web服务框架,用于实现基于SOAP协议的Web服务。与前代产品*...

    Axis开发webservice搭建指南

    Axis开发Web服务(Webservice)的搭建过程是一个系统性的步骤,涉及到服务器端的配置和客户端的调用。在本文中,我们将深入探讨如何使用Apache Axis框架来创建和部署Web服务。Apache Axis是一个开源工具,它允许...

    Axis WebService 技术指南,开发文档

    本指南将详细介绍如何使用 Axis 进行 WebService 开发,包括从基础入门到高级特性的应用。 ### 1. Axis 简单入门 在开始之前,你需要从官方网站下载 Axis 的工程和必要的库文件,例如 `axis-bin-1.4`。解压缩后,...

    Axis2 WebService 开发指南 技术文档 入门文档

    《Axis2 WebService 开发指南》 Axis2是一款强大的Web服务框架,它是Apache Axis1的升级版,提供了更高效、更灵活的服务实现和部署机制。本指南将详细讲解如何使用Axis2进行Web服务的开发,从基础准备到高级特性,...

    axis发布webservice教程源代码

    2. `webServices发布.doc` - 这很可能是教程文档,包含了详细的步骤和指南,解释如何使用Axis发布Web服务。用户可以在这里找到关于设置环境、编写服务接口、生成WSDL文件以及部署服务的具体信息。 3. `...

    axis2-WebService-开发指南.docx

    Axis2 WebService 开发指南 Axis2 是一个基于 Java 的开源 WebService 框架,具有高效、灵活、可扩展等特点。以下是对 Axis2 WebService 开发指南的知识点总结: 1. 环境准备: Axis2 的开发需要下载相关的 jar ...

    axis2 WebService 开发指南(中文版).docx

    【Axis2 WebService 开发指南】是针对使用Apache Axis2框架创建和使用Web服务的一份中文教程。Apache Axis2是Apache SOAP(简单对象访问协议)实现的第二代产品,提供了高性能且灵活的服务基础架构。本指南主要涵盖...

    WebService开发指南

    【WebService开发指南】这篇文章主要介绍了基于Java的Axis2框架如何进行WebService的开发。Axis2是Apache组织提供的一个用于构建和部署Web服务的高级框架,它作为Axis1的升级版,提供了更多的特性和优化。 首先,...

    Axis1.4_开发指南

    综上所述,Axis1.4开发指南是一份针对使用Axis1.4版本开发WebService的详尽文档,它介绍了WebService的基本概念、Axis框架的安装与使用、WebService开发和部署的关键技术,以及如何处理复杂对象传递、异常和文件传递...

    AXIS1.4webservice服务端和客户端例子

    AXIS1.4是Apache软件基金会开发的一个开源Java库,用于构建和使用Web服务。它提供了在Java平台上创建Web服务的工具和API,使得开发者能够快速实现SOAP(Simple Object Access Protocol)通信。在这个"AXIS1.4 ...

    axis2实现webservice

    ### Axis2实现WebService知识点 #### 一、Axis2简介 - **定义**:Apache Axis2是基于Java的一个开源的WebService框架,它支持...这为开发者提供了一个清晰的指南,帮助他们更好地理解和使用Axis2进行WebService开发。

Global site tag (gtag.js) - Google Analytics