`
conkeyn
  • 浏览: 1525174 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

axis2 学习(rpc)

阅读更多

刚开始学习时,可不必考虑某些包的功能。我当前是把所有的包都导进classpath中。

把下载下来的axis2-bin文件解压后,需要另外配置一个AXIS2_HOME 的环境变量。因为在AXIS2_HOME/bin 目录下面的脚本文件需要用到这个环境变量。

 

服务端的Pojo类:Bus.java

package axis2test;

public class Bus {

    private String number;
    private String firstStation;
    private String lastStation;

    /**
     * @return the number
     */
    public String getNumber() {
        return number;
    }

    /**
     * @param number
     *            the number to set
     */
    public void setNumber(String number) {
        this.number = number;
    }

    /**
     * @return the firstStation
     */
    public String getFirstStation() {
        return firstStation;
    }

    /**
     * @param firstStation
     *            the firstStation to set
     */
    public void setFirstStation(String firstStation) {
        this.firstStation = firstStation;
    }

    /**
     * @return the lastStation
     */
    public String getLastStation() {
        return lastStation;
    }

    /**
     * @param lastStation
     *            the lastStation to set
     */
    public void setLastStation(String lastStation) {
        this.lastStation = lastStation;
    }

}

 服务端的Service类:BusService.java

package axis2test;

public class BusService {

    private Bus bus;

    /**
     * @return the bus
     */
    public Bus getBus() {
        return bus;
    }

    /**
     * @param bus the bus to set
     */
    public void setBus(Bus bus) {
        this.bus = bus;
    }
}

  创建一个资源(resources)文件夹,在该文件夹下创建元数据信息文件夹(META-INF),最后创建一个service.xml文件,其内容为:

<service name="BusService" scope="application">
	<description>
		Bus POJO Service
    </description>
	<messageReceivers>
		<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
			class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
		<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
			class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
	</messageReceivers>
	<parameter name="ServiceClass">
		axis2test.BusService
    </parameter>
</service>
 

dd

package test;

import javax.xml.namespace.QName;

import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;

import axis2test.Bus;

public class MyTest {

    public static void main(String[] args) throws AxisFault {
        RPCServiceClient serverClient = new RPCServiceClient();
        Options option = serverClient.getOptions();
        EndpointReference endPoint = new EndpointReference(
                "http://localhost:8080/axis2/services/BusService");
        option.setTo(endPoint);
        QName busName = new QName("http://axis2test", "setBus");
        Bus bus = new Bus();
        bus.setFirstStation("铁心桥");
        bus.setLastStation("花神家具港");
        bus.setNumber("171");
        Object[] arg = new Object[] { bus };
        serverClient.invokeRobust(busName, arg);
        QName getBus = new QName("http://axis2test", "getBus");
        Object[] getBusArgs = new Object[] {};
        Class[] retTypes = new Class[] { Bus.class };
        Object[] response = serverClient.invokeBlocking(getBus, getBusArgs,
                retTypes);
        Bus retBus = (Bus) response[0];
        if (null != response) {
            System.out.println("起点站:" + retBus.getFirstStation());
            System.out.println("终点站:" + retBus.getLastStation());
            System.out.println("公交车号::" + retBus.getNumber());
        }
    }
}
 

dfd

  • 大小: 21.5 KB
  • 大小: 52.6 KB
分享到:
评论

相关推荐

    Axis2学习教程-全面学习AXIS

    课程内容包括了Axis2的基础知识讲解,如以多种方式编写和发布WebService、JAX-RPC、JAX-WS的使用、复杂类型的传输、WebService会话管理和Axis2模块等关键概念。此外,教程通过三个实际项目加深理解,涵盖了使用Java ...

    apache axis-1.7.9

    11. **社区支持**:作为Apache项目的一部分,Axis2拥有活跃的社区,提供了丰富的文档、示例和问题解答,便于开发者学习和解决问题。 总的来说,Apache Axis2-1.7.9提供了一个强大且全面的Web服务框架,适用于开发、...

    axis开发JAX-RPC webservice

    **标题解析:** "Axis开发JAX-RPC WebService" 指的是使用Apache Axis框架来创建基于Java API for XML Remote Procedure Calls (JAX-RPC)的Web...如果需要深入学习,可以参考Apache Axis的官方文档和其他相关教程。

    Axis2介绍和例子

    基础部分涵盖了Axis2的多种特性,如JAX-RPC和JAX-WS规范的实现、复杂类型的传输、Web服务会话管理以及Axis2模块的使用。 在项目实践中,首先是一个使用Java Swing构建的个人信息管理系统(PIM)。这个系统展示了...

    axis2开发webservice

    - 初始化:学习如何创建一个新的Axis2项目,设置好服务接口和服务实现。 - 生成WSDL:理解如何自动生成WSDL文件,它是Web服务的接口定义。 - 测试服务:使用Axis2提供的测试客户端或者通过SOAP UI等工具,测试...

    axis2-1.7.7-bin.zip下载

    Axis2是Apache SOAP(Simple Object Access Protocol)项目的第二代产品,提供了高性能、灵活且可扩展的框架,支持多种协议,包括SOAP、RESTful、XML-RPC和WS-*规范。 在“axis2-1.7.7-bin.zip”压缩包中,你将找到...

    spring axis2整合

    解压后,开发者可以参照这些资源进行实际的整合工作,以了解和学习Spring与Axis2的整合过程。 总之,Spring与Axis2的整合是Java Web服务开发中的一个重要实践,它允许我们利用Spring的优秀特性来管理和控制Web服务...

    axis2独立部署简单实例

    通过这个实例,学习者不仅可以了解如何部署和运行一个基本的Axis2服务,还可以深入理解Web服务的工作原理,包括SOAP消息的结构、服务生命周期管理等。此外,对于软件架构师和开发者来说,掌握Axis2的独立部署方式有...

    Apache Web Services Axis2(1.4.1) 详细经典入门实例图文并茂

    Axis2基于模块化架构,支持多种消息传输协议,如HTTP、SMTP等,以及多种数据格式,如SOAP、RESTful、XML-RPC等。它的设计目标是简化Web服务的开发、部署和消费。 二、Eclipse Axis2插件 Eclipse是一个流行的Java...

    axis1.4学习示例(详细步骤说明)

    总结来说,学习 Axis1.4 主要涉及以下几个关键点: 1. 下载并引入 Axis1.4 相关 JAR 包到项目中。 2. 配置 `web.xml` 文件以注册 Axis 相关的 Servlet 和监听器。 3. 创建服务端 Java 类,定义 Web 服务接口。 4. ...

    AXIS学习

    AXIS学习及配置解析 AXIS是一个开源的Java框架,主要用于构建和部署Web服务。它在Web服务领域扮演着重要角色,特别是在Java生态系统中。AXIS允许开发者将现有的Java类转化为符合SOAP(简单对象访问协议)标准的Web...

    axis2-1.5.1-bin.zip

    标题中的"axis2-1.5.1-bin.zip"是一个基于Apache Axis2的软件发行包,版本号为1.5.1,格式为ZIP。Apache Axis2是著名的Web服务引擎,用于创建和部署Web服务。它是一个高效且可扩展的框架,支持多种协议和服务模型,...

    Axis2中文手册

    通过学习,开发者将能够充分利用Axis2的优势,构建高效、安全的Web服务应用。 总结,Apache Axis2是一个强大的Web服务框架,它的设计目标是提供高效的处理、灵活的扩展能力和稳定的服务。通过深入理解和使用本中文...

    axis2-1.1-docs.zip 文档

    总的来说,“axis2-1.1-docs.zip”文档包是学习和开发基于Axis2的Web服务的宝贵资源,涵盖了从基础概念到高级特性的全面指导。通过深入阅读并实践文档中的内容,开发者可以熟练掌握Axis2,从而有效地构建和维护高...

    axis2客户端编码,RPC,OMElement,上传下载实现,服务端验证

    标题中的“axis2客户端编码”指的是使用Apache Axis2框架来编写...通过链接访问博客文章,读者可以获得更详细的步骤和代码实例,以学习如何在实际项目中应用Axis2客户端编码、RPC调用、OMElement操作以及服务端验证。

    axis axis2所需jar - 完整版 靠谱!

    5. ** Axis2 JAR文件**:在提供的压缩包中,可能包含的JAR文件有Axis2核心库(如axis2-adb.jar, axis2-kernel.jar)、模块文件(如addressing模块、rpc模块)、依赖的XML处理库(如axiom-api.jar, axiom-impl.jar)...

Global site tag (gtag.js) - Google Analytics