`

使用axis2传递对象数组

阅读更多
写了一个简单的say hello webservice例子。传递的对象是string,而且只有一个方法;但实际应用中,需要传递一些复制的对象,比如:数组,集合,对象数组。
由于webservice 是通过xml来交互数据的,而且是不分平台的。因此,java 中的List等集合类的哦是通过数组来实现的。

复杂的数据类型比如说List,Map,等我们可以给它构造成对象数据来进行传递,请看下面的简单的例子

【1】:我们现声明一个简单的对象Bean
class PersonBean{
String name;
int age;
public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAge() {
return age;
}

public void setAge(String age) {
this.age = age;
}
}
【2】:服务器端的传递对象数组的method

  public PersonBean[] findPersons(){
         //声明对象数组
         PersonBeans pbs[] = new PersonBeans[i];
         PersonBean pb = null;
         for (int i = 0; i <10; i++)
         {
             pb = new PersonBean();
             pb.setName("john_"+i);
             pb.setAge(2+""+i);
             //将单个实体加入到对象数组里面
             pbs[i] = pb;
         }
         return pbs;
  }
【3】:部署
然后将这个项目部署到tomcat里,
启动tomcat,打开http://127.0.0.1:8080/项目名/services, (注意必须加services)
会出现项目所提供的web service列表,
点进去就是wsdl, 另存为网页成*.wsdl文件。这样就生成了需要的wsdl文件
打包生成*.arr 文件。名称任意。放到 axis2\WEB-INF\services 下面
启动tomcat。
【4】:注意事项
注意:使用axis,jdk最好使用1.6。新建webservice 项目 最好选择JAVA EE 5.0。
0
0
分享到:
评论

相关推荐

    在axis1.4中传递复杂类型数组参数(ArrayMapping)

    在客户端,使用 Axis 的 Stub 或 Proxy 类来调用服务时,可以传递 Java 数组作为参数。这些数组会被自动转换为 SOAP 消息。同样,服务端接收请求后,ArrayMapping 会将 SOAP 消息解析成 Java 数组。 7. **自定义 ...

    axis自定义数组对象

    本文将深入探讨如何在Axis框架下实现自定义数组对象的传递,这不仅是对框架特性的深入理解,也是提升Web服务功能性和灵活性的关键。 #### 二、关键概念解释 **1. 自定义数组对象:** - **定义:** 在Web服务中,...

    Axis2范例,对象传输

    "Axis2范例,对象传输" 指的是使用Apache Axis2框架进行Web服务开发的一个示例项目,重点在于演示如何通过Axis2传输和处理对象,特别是涉及对象与XML之间的转换,以及在客户端和服务端之间的通信。 **描述详解:** ...

    用WebService传递POJO和对象数组的例子.doc

    本文将详细讨论如何在AXIS2中通过POJO发布Web服务,以及解决在使用AXIS2 Eclipse插件打包发布时遇到的“Weather didn't initialize”问题。 首先,我们需要了解什么是POJO。POJO是指没有特定框架约束的普通Java对象...

    Java+Axis2调用Web Services 网络接口

    要在Java中使用Axis2调用Web服务,首先需要在项目中添加Axis2的依赖库。这可以通过Maven或者直接下载jar包到项目的类路径中实现。然后,使用wsimport工具生成客户端 stubs,这些stubs将根据WSDL文件自动创建客户端...

    webservice之axis实例,axis复杂对象

    在本实例中,我们将深入探讨使用Apache Axis实现Web服务,特别是处理复杂对象的传递。 Apache Axis是Apache软件基金会开发的一个开源工具,它为Java开发者提供了一个方便的框架来创建和部署Web服务。Axis使得开发、...

    axis2_webservice

    在Axis2中,可以处理复杂的Java对象类型,包括数组、集合和自定义对象。通过 Axis2 的数据绑定机制,可以自动将这些复杂类型转换为XML格式,以便在网络中传输。 五、发布与调用Web服务 Axis提供了多种发布Web服务...

    WebService大讲堂之Axis2(2):复合类型数据的传递.pdf

    总结,本篇内容主要讲解了如何在 Axis2 中处理复合类型数据的传递,包括数组(一维和二维)以及自定义类对象。通过 Axis2,开发者可以直接使用 Java 类型作为 WebService 方法的参数和返回值,简化了开发过程。同时...

    axis2建webservice文档

    2. **复合类型数据的传递**:在“WebService大讲堂之Axis2(2):复合类型数据的传递.doc”中,可能详细解释了如何处理复杂的数据结构,如自定义对象或数组,以及如何在Web服务请求和响应中传递这些数据。...

    axis2 webservice实现文件上传删除功能

    在Axis2中,我们可以创建一个Web服务接口,定义一个方法接收File对象或者字节数组作为参数。服务端接收请求后,将字节流写入到指定的文件系统路径。这个过程可能需要用到MTOM优化,以便高效地传输大文件。 ```java...

    WebServiceDemo-Axis2

    Apache Axis2是Java世界中广泛使用的Web服务引擎,它提供了一种高效、灵活且可扩展的方式来实现SOAP(简单对象访问协议)服务。在这个项目中,我们将深入探讨 Axis2 的主要功能以及如何处理不同数据类型的实例,特别...

    axis2编写发布和例子详解

    Axis2支持复杂类型的传输,这意味着可以传递结构化的对象,如自定义的Java类或数组。通过WSDL(Web Service Description Language)定义,客户端可以正确地序列化和反序列化这些复杂类型的数据。 8. **模块机制** ...

    Axis1.4_开发指南

    Axis允许在WebService中传递复杂对象,包括List、Map、数组和自定义对象。此外,Axis还支持传递包含内部类的自定义对象以及通过RMI方式实现远程调用。 ### 抛出异常和传递文件 在开发WebService时,服务可能会遇到...

    WebService之Axis2教程

    - 使用Axis2提供的注解或API定义该POJO为WebService。 - 在客户端使用Java或C#语言调用此WebService。 - **意义**:简化开发流程,降低学习曲线,提高开发效率。 #### 六、其他关键技术点 - **复合类型数据传递*...

    WebService axis1.4接口服务序列/反序列复杂项目实例

    2. **复杂参数处理**:Web服务接口可能接收或返回多个参数,甚至包括数组、列表或其他复杂数据结构。Axis1.4允许开发者定义这些参数并确保它们正确地序列化和反序列化。在处理这些参数时,需要确保类型匹配,以及在...

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

    这个示例演示了如何在MyEclipse环境下配置和使用Axis 2进行网络服务调用。通过本教程,您将学习到如何初始化服务、创建调用对象、设置参数以及获取天气预报数据。 #### 二、环境搭建与准备工作 为了能够顺利运行...

    webservice2 符合数据类型

    在Axis2中,可以直接使用Java的数组或自定义类(接口)作为WebService方法的参数或返回值。对于数组,注意只能声明一维数组,但可以通过分隔符来表示多维数组,例如上面的代码示例就是一个模拟的3x3二维字符串数组。...

    Webservice axis 整理好的示例文档

    3. **传递复杂对象**:Axis支持传递Java中的复杂数据类型,如List、Map、数组以及自定义对象。在Web服务接口中,这些复杂对象可以通过XML Schema(XSD)来定义,然后由Axis自动处理序列化和反序列化的过程,使得...

    Axis 开发指南

    - **传递复杂对象**:WebService可以轻松处理各种复杂数据类型,如List、Map、数组以及自定义对象。Axis提供了强大的序列化和反序列化机制来支持这些数据类型。 - **异常处理**:WebService可以抛出异常,并通过...

Global site tag (gtag.js) - Google Analytics