June 15, 2011 | 作者:白菜
在一个项目组,需要用到webservice,虽然现有的webservice组件为axis2,比较古老了,不过夜没办法,是个老项目。
不过AXIS2还算好用,就是还是复杂了一些。
在部署webservice的时候,我们可以通过这样的方法来在浏览器中测试
http://aiyooyoo.com/service/getStudentService/listStudent?unit=5
getStudentService为服务名,listStudent为方法名,而unit=5自然就是参数了。
在测试的时候,发现如果是基本类型的话,就能正常运行,但我这次需要的是一个list<student>的集合类型。
在浏览器中报错如下:
qname not fond for the package com.aiyooyoo.com.dbutil
很明显,我的代码里是有这个包的,刚开始怀疑是这种方法有局限性造成的,于是用代码写了个客户端进行测试,问题依然如此。现在就确实确实是返回类型的问题了,如果返回int等基本类型就正常。
查了下资料,发现AXIS2不支持集合,而axis1反倒支持,axis2需要用对象数组的方式来处理,为了已有类的通用性,想到了我可以再服务器端先把集合转换为字符串,再在客户端把字符串转换为集合,不就解决了吗。
于是,主要代码如下:
//集合转字符串
List list<Student>=new arrayList<Student>();
....
return list.toString();
//字符串转集合
JSONArray jsonArray = JSONArray.fromObject(jsonString);
JSONObject jsonObject;
Object pojoValue;
List list = new ArrayList();
for (int i = 0; i < jsonArray.size(); i++) {
jsonObject = jsonArray.getJSONObject(i);
pojoValue = JSONObject.toBean(jsonObject, Student.class);
list.add(pojoValue);
}
return list;
}
分享到:
相关推荐
如果我们在使用 Axis2 时抛出了 org.apache.axis2.AxisFault: The input stream for an incoming message is null 异常,就说明 services.xml 中没有加入 scope="transportsession"。解决方法是将 services.xml 配置...
标题中的"axis2-idea-plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_"提到了几个关键元素,分别是"axis2"、"idea-plugin"和"idea导入axis2",这暗示了这个压缩包是用于在IntelliJ IDEA这款集成开发环境...
7. **查阅官方文档和社区资源**:如果以上步骤不能解决问题,可以查阅Apache Axis2的官方文档,或者在Apache Axis2的用户论坛、Stack Overflow等社区寻求帮助,看看其他人是否遇到过类似问题并找到了解决方案。...
The Apache Axis2/C is a SOAP engine implementation that can be used to provide and consume Web Services. Axis2/C is an effort to implement Axis2 architecture, in C. Please have a look at ...
本文将详细讲解Axis2的安装配置过程,以及如何在Eclipse环境中安装和配置Axis2插件,同时解决可能出现的问题。 1、Axis2安装配置 首先,你需要从Apache官方站点(http://apache.freelamp.com/ws/axis2/1_4_1/)下载...
### Axis与Axis2在WSDL2Java工具中的发布差异 #### 概述 本文将详细介绍Axis与Axis2在使用WSDL2Java工具进行服务发布的差异性。这两种工具都是Apache项目的一部分,它们为开发者提供了强大的Web服务支持。其中,...
Axis2是Apache Axis的第二代版本,它在第一代的基础上进行了许多改进和优化,提供了更高效、灵活的Web服务解决方案。Axis2基于模块化设计,允许用户按需选择功能,从而降低了内存占用和提高了性能。它支持多种协议,...
axis2-java2wsdl-1.5.4.jar axis2-jaxbri-1.5.4.jar axis2-jaxws-1.5.4.jar axis2-jibx-1.5.4.jar axis2-json-1.5.4.jar axis2-kernel-1.5.4.jar axis2-metadata-1.5.4.jar axis2-mtompolicy-1.5.4.jar axis2-saaj-...
axis2-1.6.2.zip, windows axis2工具,根据 WSDL生成java文件。 1、axis2客户端下载地址:http://mirror.esocc.com/apache//axis/axis2/java/core/1.6.2/axis2-1.6.2-bin.zip; 2、下载解压在D:\Work_Program_...
因此,Apache社区推出了Axis2,它是Axis的升级版,旨在解决这些问题并提供更多的功能。Axis2采用了模块化架构,允许开发者根据需要选择和加载特定功能模块,这极大地提高了性能和可扩展性。此外,Axis2支持多种传输...
Apache Axis2是著名的开源Web服务框架,用于构建和部署高效且灵活的Web服务。这个框架是基于Axis1的升级版,提供了许多改进和新特性,包括更好的性能、模块化架构和增强的MIME支持。标题提到的“axis2-1.5.1-bin.zip...
在本文中,我们将深入探讨如何将Apache Axis2与Spring Boot集成,以构建一个...这个实例展示了如何在Spring Boot应用中集成和调用Axis2服务,通过理解这些关键步骤,你可以根据需求扩展和定制自己的Web服务解决方案。
标题“axis2-1.6.1”指的是Apache Axis2的1.6.1版本,这是一个流行的开源Web服务引擎,用于构建和部署Web服务。Apache Axis2是Axis1的下一代,设计为更灵活、可扩展且高效。在这个版本中,它提供了一系列改进和新...
Axis分为两个主要版本:Axis1和Axis2,这两个版本在功能、性能和设计上都有所不同。 **Axis1** 是最初的版本,发布于2003年,它基于SOAP 1.1规范,提供了一个快速开发Web服务的框架。Axis1使用JavaBeans Activation...
### Axis2在Eclipse中的搭建与使用详解 #### 一、前言 随着Web Services技术的发展,Axis2作为Apache组织下的一个开源项目,为开发者提供了简单而强大的工具来实现Web Services的功能。本文将详细介绍如何在Eclipse...
"axis2-idea-plugin-1.7.8" 是一个专为IntelliJ IDEA设计的插件,主要用于提升开发者在处理Axis2 Web服务时的效率和便利性。Axis2是Apache软件基金会开发的一个开放源代码Web服务框架,它提供了一种高效、灵活的方式...
"将应用部署在Weblogic中与Axis2冲突的问题及解决方案" 问题描述 在将应用部署到Weblogic Server 10.3时,出现了一个错误,抛出ClassCastException异常,具体错误信息为: `java.lang.ClassCastException: ...
Details of the latest version can be found on the Apache Axis2/C project page under http://ws.apache.org/axis2/c. Documentation ------------- The documentation available as of the date of this ...
Axis分为两个主要版本:Axis1.x和Axis2.x,它们都是Java平台上的Web服务实现,但在设计和功能上有所不同。 Axis1.x是较早的版本,它在Web服务领域有着广泛的应用。Axis1.x基于Servlet API,提供了SOAP消息处理和...
版本 1.5.6 是 Axis2 的一个稳定版本,提供了一系列增强的功能和修复了若干已知问题,使得在 SAP 中进行 Web Service 接口开发变得更加高效和可靠。 首先,我们来深入了解 Axis2 的核心概念和功能。Axis2 是基于 ...