写了一个简单的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。
分享到:
相关推荐
在客户端,使用 Axis 的 Stub 或 Proxy 类来调用服务时,可以传递 Java 数组作为参数。这些数组会被自动转换为 SOAP 消息。同样,服务端接收请求后,ArrayMapping 会将 SOAP 消息解析成 Java 数组。 7. **自定义 ...
本文将深入探讨如何在Axis框架下实现自定义数组对象的传递,这不仅是对框架特性的深入理解,也是提升Web服务功能性和灵活性的关键。 #### 二、关键概念解释 **1. 自定义数组对象:** - **定义:** 在Web服务中,...
"Axis2范例,对象传输" 指的是使用Apache Axis2框架进行Web服务开发的一个示例项目,重点在于演示如何通过Axis2传输和处理对象,特别是涉及对象与XML之间的转换,以及在客户端和服务端之间的通信。 **描述详解:** ...
本文将详细讨论如何在AXIS2中通过POJO发布Web服务,以及解决在使用AXIS2 Eclipse插件打包发布时遇到的“Weather didn't initialize”问题。 首先,我们需要了解什么是POJO。POJO是指没有特定框架约束的普通Java对象...
要在Java中使用Axis2调用Web服务,首先需要在项目中添加Axis2的依赖库。这可以通过Maven或者直接下载jar包到项目的类路径中实现。然后,使用wsimport工具生成客户端 stubs,这些stubs将根据WSDL文件自动创建客户端...
在本实例中,我们将深入探讨使用Apache Axis实现Web服务,特别是处理复杂对象的传递。 Apache Axis是Apache软件基金会开发的一个开源工具,它为Java开发者提供了一个方便的框架来创建和部署Web服务。Axis使得开发、...
在Axis2中,可以处理复杂的Java对象类型,包括数组、集合和自定义对象。通过 Axis2 的数据绑定机制,可以自动将这些复杂类型转换为XML格式,以便在网络中传输。 五、发布与调用Web服务 Axis提供了多种发布Web服务...
总结,本篇内容主要讲解了如何在 Axis2 中处理复合类型数据的传递,包括数组(一维和二维)以及自定义类对象。通过 Axis2,开发者可以直接使用 Java 类型作为 WebService 方法的参数和返回值,简化了开发过程。同时...
2. **复合类型数据的传递**:在“WebService大讲堂之Axis2(2):复合类型数据的传递.doc”中,可能详细解释了如何处理复杂的数据结构,如自定义对象或数组,以及如何在Web服务请求和响应中传递这些数据。...
在Axis2中,我们可以创建一个Web服务接口,定义一个方法接收File对象或者字节数组作为参数。服务端接收请求后,将字节流写入到指定的文件系统路径。这个过程可能需要用到MTOM优化,以便高效地传输大文件。 ```java...
Apache Axis2是Java世界中广泛使用的Web服务引擎,它提供了一种高效、灵活且可扩展的方式来实现SOAP(简单对象访问协议)服务。在这个项目中,我们将深入探讨 Axis2 的主要功能以及如何处理不同数据类型的实例,特别...
Axis2支持复杂类型的传输,这意味着可以传递结构化的对象,如自定义的Java类或数组。通过WSDL(Web Service Description Language)定义,客户端可以正确地序列化和反序列化这些复杂类型的数据。 8. **模块机制** ...
Axis允许在WebService中传递复杂对象,包括List、Map、数组和自定义对象。此外,Axis还支持传递包含内部类的自定义对象以及通过RMI方式实现远程调用。 ### 抛出异常和传递文件 在开发WebService时,服务可能会遇到...
- 使用Axis2提供的注解或API定义该POJO为WebService。 - 在客户端使用Java或C#语言调用此WebService。 - **意义**:简化开发流程,降低学习曲线,提高开发效率。 #### 六、其他关键技术点 - **复合类型数据传递*...
2. **复杂参数处理**:Web服务接口可能接收或返回多个参数,甚至包括数组、列表或其他复杂数据结构。Axis1.4允许开发者定义这些参数并确保它们正确地序列化和反序列化。在处理这些参数时,需要确保类型匹配,以及在...
这个示例演示了如何在MyEclipse环境下配置和使用Axis 2进行网络服务调用。通过本教程,您将学习到如何初始化服务、创建调用对象、设置参数以及获取天气预报数据。 #### 二、环境搭建与准备工作 为了能够顺利运行...
在Axis2中,可以直接使用Java的数组或自定义类(接口)作为WebService方法的参数或返回值。对于数组,注意只能声明一维数组,但可以通过分隔符来表示多维数组,例如上面的代码示例就是一个模拟的3x3二维字符串数组。...
3. **传递复杂对象**:Axis支持传递Java中的复杂数据类型,如List、Map、数组以及自定义对象。在Web服务接口中,这些复杂对象可以通过XML Schema(XSD)来定义,然后由Axis自动处理序列化和反序列化的过程,使得...
- **传递复杂对象**:WebService可以轻松处理各种复杂数据类型,如List、Map、数组以及自定义对象。Axis提供了强大的序列化和反序列化机制来支持这些数据类型。 - **异常处理**:WebService可以抛出异常,并通过...