`
ajax_xu
  • 浏览: 156247 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

axis 使用

阅读更多
axis-1_3 (从http://ws.apache.org/axis/下载); 

将axis-bin-1_3.zip解压的webapps目录下的 axis目录拷贝到%TOMCAT_HOME%\webapps目录下(最好在%TOMCAT_HOME%\webapps\axis\WEB-INF \lib增加:activation.jar、mail.jar和tools.jar),然后启动tomcat,在浏览器地址栏输入http://localhost:8080/axis/就可以看到 axis的主页面了。
Webservice程序发布

1、编写简单的webservice程序如下:

package test.webservice;



public class Calculator {

    public int add(int i1, int i2) {

        return i1 + i2;

    }



    public int subtract(int i1, int i2) {

        return i1 - i2;

    }



    public String show(String arg) {

        return arg;

    }

}

1、 将程序包拷贝到%TOMCAT_HOME%\webapps \axis\WEB-INF\classes目录下;

2、 配置环境变量

AXIS_HOME = axis-bin-1_3.zip的解压路径

AXISCLASSPATH =  %AXIS_HOME%\lib\axis.jar;%AXIS_HOME%\lib\axis-schema.jar;%AXIS_HOME%\lib\commons-discovery-0.2.jar;%AXIS_HOME%\lib\commons-logging-1.0.4.jar;%AXIS_HOME%\lib\jaxrpc.jar;%AXIS_HOME%\lib\log4j-1.2.8.jar;%AXIS_HOME%\lib\saaj.jar;%AXIS_HOME%\lib\wsdl4j-1.5.1.jar;

3、 编写发布文件deploy.wsdd(该文件的模板可以从%AXIS_HOME%\samples\stock目录下找到),将其放到%TOMCAT_HOME%\webapps\axis \WEB-INF目录下;

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

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



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

    <!--指定作为webservice的类名-->

    <parameter name="className" value="test.webservice.Calculator" />

    <!--指定可以被调用的方法,有选择使用逗号间隔,全部使用*-->

    <parameter name="allowedMethods" value="add,subtract,show" />  

  </service>



</deployment>

4、 命令行方式转到%TOMCAT_HOME%\webapps \axis\WEB-INF目录下,使用命令:

java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost/axis/services/AdminService deploy.wsdd

将deploy.wsdd文件转变为server- config.wsdd(其实同时还生成attachments文件夹),这样在tomcat启动时可以被AxisServlet调用初始化。注意:使用命令时tomcat应处于启动状态。

5、 发布完毕,在浏览器地址栏输入http://localhost:8080/axis/services可以看到你发布的webservice了,可以查看具体的wsdl。

6、 java客户端测试程序

package test.webservice;



import javax.xml.rpc.ParameterMode;

import javax.xml.rpc.encoding.XMLType;



import org.apache.axis.client.Call;

import org.apache.axis.client.Service;



public class CalcClient {

    public static void main(String[] args) throws Exception {

        String endpoint = "http://localhost:8080/axis/services/Calculator";



        Service service = new Service();

        Call call = (Call) service.createCall();



        call.setTargetEndpointAddress(new java.net.URL(endpoint));

        // call.setOperationName("add");

        call.setOperationName("subtract");

        // call.setOperationName("show");



        call.addParameter("p1", XMLType.XSD_INT, ParameterMode.IN);

        call.addParameter("p2", XMLType.XSD_INT, ParameterMode.IN);

        call.setReturnType(XMLType.XSD_INT);



        Integer ret = (Integer) call.invoke(new Object[] { new Integer(5), new Integer(3) });

        // String ret = (String) call.invoke(new Object[] { "axis你好!" });



        System.out.println("The value of webservice return is :" + ret);

    }

}


添加用户验证

用户验证使用axis的简单用户验证 handler:SimpleAuthenticationHandler。

1、 在deploy.wsdd文件中增加以下红色字体部分

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

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



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

    <!--指定作为webservice的类名-->

    <parameter name="className" value="test.webservice.Calculator" />

    <!--指定可以被调用的方法,有选择使用逗号间隔,全部使用*-->

    <parameter name="allowedMethods" value="add,subtract,show" />

    <!--指定可以调用用户-->

    <parameter name="allowedRoles" value="testname" />   

    <requestFlow>    

        <handler type="Authenticate"/>

     </requestFlow>

  </service>



</deployment>

2、 在%TOMCAT_HOME%\webapps \axis\WEB-INF目录下建立users.lst文件,内容如下:

testname testpass

3、 重复 Webservice 程序发布的第4步,重新发布(也可以直接修改 server-config.wsdd文件 )。

4、 修改客户端调用程序

package test.webservice;



import javax.xml.rpc.ParameterMode;

import javax.xml.rpc.encoding.XMLType;



import org.apache.axis.client.Call;

import org.apache.axis.client.Service;



public class CalcClient {

    public static void main(String[] args) throws Exception {

        String endpoint = "http://localhost:8080/axis/services/Calculator";



        Service service = new Service();

        Call call = (Call) service.createCall();

      

        // 用户验证

        call.getMessageContext().setUsername("testname"); // 用户名

        call.getMessageContext().setPassword("testpass"); // 密码



        call.setTargetEndpointAddress(new java.net.URL(endpoint));

        // call.setOperationName("add");

        call.setOperationName("subtract");

        // call.setOperationName("show");



        call.addParameter("p1", XMLType.XSD_INT, ParameterMode.IN);

        call.addParameter("p2", XMLType.XSD_INT, ParameterMode.IN);

        call.setReturnType(XMLType.XSD_INT);



        Integer ret = (Integer) call.invoke(new Object[] { new Integer(5), new Integer(3) });

        // String ret = (String) call.invoke(new Object[] { "axis 你好! " });



        System.out.println("The value of webservice return is :" + ret);

    }

}
分享到:
评论

相关推荐

    ApacheAxis使用方法(版本1.4)

    资源名称:Apache Axis使用方法 (版本1.4)内容简介: Apache Axis是开源的SOAP服务器和客户端。SOAP是网络间不同语言的程序进行交互的方法。SOAP通常在HTTP上交换信息:客户端POST一个SOAP请求,然后接受HTTP响应,...

    AXIS使用说明

    本文将深入探讨AXIS的使用说明,帮助用户更好地理解和操作该系统。 1. **AXIS简介** AXIS是一个专业的网络视频解决方案,它支持多种类型的IP摄像头和视频编码设备。该平台允许用户通过网络对视频设备进行配置、...

    Axis使用Stub方式开发Webservice只要看这个

    ### Axis使用Stub方式开发Webservice知识点详解 #### 一、概述 在当今信息化时代,Web服务作为实现系统间通信的一种重要手段,在企业级应用中扮演着至关重要的角色。Apache Axis作为一个开源的Java库,提供了简单...

    springboot使用axis1.4的demo

    **WSDD(Web Service Deployment Descriptor)**是Axis使用的XML配置文件,用于定义Web服务的元数据,如端点地址、服务实现类、数据绑定等。在我们的示例中,我们将使用WSDD来发布Web服务。 为了在Spring Boot中...

    通过axis使用网上天气预报服务的demo

    ### 使用Axis调用在线天气预报服务的实现方法 #### 一、概述 本文将详细介绍如何在Java环境中利用Apache Axis框架来调用一个在线天气预报服务。这个示例演示了如何在MyEclipse环境下配置和使用Axis 2进行网络服务...

    AXIS1全套JAR包

    7. **log4j.jar**:一个流行的日志记录框架,AXIS使用它来记录运行时信息。 使用AXIS1开发Web服务的基本步骤包括: 1. **创建服务端**:将Java类转换为Web服务,通过使用AXIS的`java2wsdl`工具生成WSDL文件,然后...

    使用axis开发webservice使用的jar包

    Axis使用它来生成Java代码,这些代码对应于WSDL描述的服务接口。 5. **log4j.jar**:日志记录库,用于记录 Axis 运行时的日志信息,帮助调试和问题排查。 6. **activation.jar** 和 **mail.jar**:这两个jar包是...

    AXIS文档及使用说明

    AXIS文档及使用说明主要涵盖了AXIS产品线中与网络摄像机(IP Cam)相关的软件开发工具包(SDK),这是一套用于集成和控制AXIS设备的编程接口。该文档和使用说明对于开发者来说是至关重要的,因为它提供了全面的API...

    AXIS使用和配置 (2).pdf

    AXIS是一个开放源代码的Web服务客户端和服务器端库,它允许开发者创建和使用Web服务。在某些特定场景下,AXIS展示了其强大的功能,比如添加自定义消息头、支持多种认证方式(如NTLM)以及实现ACK确认发送机制。 本...

    axis-sample1.4.rar

    7. **XML绑定**:Axis使用JAXB(Java Architecture for XML Binding)或AXIS-specific方式将Java对象与XML文档相互转换,实现了Java类与SOAP消息的映射。 8. **调试和测试工具**:Axis可能还提供了用于测试和调试...

    Axis动态调用webService

    在使用 Axis 调用 Web 服务之前,需要将以下 JAR 包添加到项目的类路径中: 1. xmlsec-1.3.0.jar 2. axis.jar 3. axis-ant.jar 4. axis-schema-1.3.jar 5. axis-wsdl4j-1.5.1.jar 6. commons-discovery-0.2.jar 7. ...

    Axis传值和复杂对象

    Axis使用JAXB(Java Architecture for XML Binding)将这些JavaBeans转换为符合XML Schema的XML格式。 4. ** Axis配置**: 在myEclipse中,需要配置Axis插件以识别项目中的Java类,并生成相应的服务或客户端代码。...

    axis中文文档

    3. **Axis使用** - **服务调用**:Axis为客户端提供了soapclient工具,可以根据WSDL文件自动生成客户端代理类,使得调用Web服务如同调用本地方法一样方便。 - **异常处理**:在使用Axis时,理解如何处理各种Web...

    axis开发webservice客户端

    Axis使用WSDL文件来生成客户端的Stub代码,这是与服务交互的桥梁。 3. **Axis工具的使用**:通过命令行或集成开发环境(IDE)中的插件,可以使用Axis工具从WSDL文件生成Java客户端代码。这个过程通常称为“wsdl2...

    axis 实现 webservice 例子

    本篇文章将深入讲解如何使用Apache Axis1.4实现Web服务。 首先,我们需要理解Axis1.4的特点。作为较早版本的Axis,它已经经过了长期的测试和优化,具有良好的稳定性和兼容性。开发者可以依赖它来构建可靠的Web服务...

    Axis WebService 技术指南,开发文档

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

    axis整合web.rar

    Axis使用SOAP来传输数据,使得Web服务能够跨平台和跨语言通信。 3. **Web服务**: Web服务是可以通过网络调用的可重用软件模块。它们通常通过HTTP协议提供,允许不同系统间的松耦合交互。 4. **Tomcat 7**: Tomcat...

    Apache Axis 1.2RC2 完整包

    7. **示例和文档**:`samples`目录提供了示例代码,帮助开发者快速理解和上手使用Apache Axis。`docs`目录则包含了相关的用户指南和技术文档,方便查阅。 8. **Web应用程序部署**:`webapps`目录包含了一个预配置的...

    axis全部jar包 补字补字补字补字

    6. `wsdl4j-1.5.1.jar`:WSLD4J是一个用于处理WSDL文档的库,AXIS使用它来生成Java代码或者从Java类生成WSDL描述。 7. `xml-apis.jar`:包含了XML API的基本接口和类,比如SAX和DOM的接口定义。 8. `XmlSchema-1.0...

    axis1.4全部jar包

    Apache Axis使用WSDL来生成客户端代码,使得调用Web服务变得简单。 3. **AXIS1.4核心组件**: - `axis.jar`: 包含了Axis的主要类和接口,用于处理Web服务的基本操作。 - `axis-ant.jar`: 提供了Ant构建工具的任务...

Global site tag (gtag.js) - Google Analytics