一.用CXF进行服务端发布,Axis2 XMLBean方式生成客户端,这种方式安全不太好处理
二.将所有的复杂类型转换为自定义对象和对象数组,如原本返回List<Person> 修改为返回Person[]
Map<String,String>转换为MyObject[] ,包含两个字符串类型属性的自定义类型(MyObject)的数组,然后用XMLBean方式生成客户端
这个是我在项目中使用的方案
三.使用AXIOM进行XML对象转换
参考http://www.blogjava.net/libin2722/articles/162163.html
http://warlaze.blog.sohu.com/58477971.html
四.Mule web service调用的复杂类型传递
http://www.javaeye.com/topic/300604
五.将复杂对象序列化并返回为字节数组 byte[],将对应的类拷贝到客户端,将得到的字节数组反序列化转换为相应对象
服务端:
public byte[] getPersonBytes() throws Exception
{
java.io.ByteArrayOutputStream baos = new java.io.ByteArrayOutputStream();
java.io.ObjectOutputStream oos = new java.io.ObjectOutputStream(baos);
oos.writeObject(new Person());
return baos.toByteArray();
}
客户端:
byte[] buffer=...//此处调用webservice客户端方法获取返回值
java.io.ByteArrayInputStream bais=new java.io.ByteArrayInputStream(buffer);
java.io.ObjectInputStream ois = new java.io.ObjectInputStream(bais);
Person person = (Person) ois.readObject();
【转载地址】http://blog.csdn.net/tf949627780/article/details/6884407
http://www.360doc.com/content/11/0710/23/16915_132798858.shtml
分享到:
相关推荐
7. **查阅官方文档和社区资源**:如果以上步骤不能解决问题,可以查阅Apache Axis2的官方文档,或者在Apache Axis2的用户论坛、Stack Overflow等社区寻求帮助,看看其他人是否遇到过类似问题并找到了解决方案。...
在 Axis1.4 中传递复杂类型数组参数,涉及到的是 Web 服务中的数据绑定和消息处理。Axis 是一个开源的 SOAP 库,它允许开发者创建、部署和使用 Web 服务。在处理复杂类型数组时,ArrayMapping 是 Axis 中的一个关键...
总的来说,这个实战教程将指导你如何利用Axis2创建Web服务,处理各种类型的数据,包括列表、对象和文件,这对于开发分布式应用和构建企业级集成解决方案具有很高的价值。通过学习和实践,你将能够熟练掌握Axis2的...
<Call Stack = DEBUG_FRAME = org.apache.axis2.util.JavaUtils.callStackToString(JavaUtils.java:564) DEBUG_FRAME = org.apache.axis2.description.ParameterIncludeImpl.debugParameterAdd(ParameterIncludeImpl...
Axis1.x的jar文件主要包括axis.jar、commons-discovery.jar、commons-logging.jar等,这些文件需要添加到项目的类路径中。而Axis2.x的依赖更多,包括axis2-*.jar、axiom-*.jar、wsdl4j-*.jar等,还需要根据具体需求...
Axis2是Apache Axis的第二代版本,它在第一代的基础上进行了许多改进和优化,提供了更高效、灵活的Web服务解决方案。Axis2基于模块化设计,允许用户按需选择功能,从而降低了内存占用和提高了性能。它支持多种协议,...
然而,随着Web服务技术的发展,Axis1的一些局限性逐渐显现,如性能较低、代码生成复杂等,因此Apache社区推出了更加强大的**Axis2**。 **Axis2** 是Axis1的升级版,发布于2006年,它基于新的架构,旨在提高性能和可...
总结一下,"webServices学习之二——axis1传递复杂类型javabean"这篇文章可能会详细讲解如何使用Axis1框架处理JavaBean对象,包括创建JavaBean、生成WSDL、部署服务以及客户端调用等步骤。了解这些内容对于开发基于...
Apache Axis2是著名的开源Web服务框架,用于构建和部署高效且灵活的Web服务。这个框架是基于Axis1的升级版,提供了许多改进和新特性,包括更好的性能、模块化架构和增强的MIME支持。标题提到的“axis2-1.5.1-bin.zip...
在描述中提到的“之前公司用了webservice搞了好就 写了好几种”,这可能意味着使用Axis2来实现不同类型的Web服务接口,或者在不同的项目中进行了多次的Web服务开发。 **标签:** 1. **Java** - Axis2是基于Java...
10. **社区支持**:由于是开源项目,Axis2拥有活跃的开发者社区,提供了丰富的文档、示例和在线支持,帮助用户解决问题。 在实际使用中,解压"axis2-1.6.1.rar"后,你可能会找到如下文件和目录: - `bin`:包含...
标题中的"axis2-idea-plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_"提到了几个关键元素,分别是"axis2"、"idea-plugin"和"idea导入axis2",这暗示了这个压缩包是用于在IntelliJ IDEA这款集成开发环境...
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-...
7. **性能优化**:Axis2采用内存高效的数据结构和序列化机制,以提高处理大规模消息的性能。 8. **多语言支持**:尽管轴心是Java实现,但通过 Axis2 的AXIOM(抽象XML信息模型)层,可以与其他语言如C、PHP和Python...
6. Axis2 创建的WebService方法参数不能是数组类型的 如果我们想传入一个数组类型的参数给 Axis2 创建的 WebService 方法,那么需要将其转换为字符串,方可传递。例如,我们可以将 int[] array=new int[]{1,2,3,4} ...
org.apache.axis2.jar
"将应用部署在Weblogic中与Axis2冲突的问题及解决方案" 问题描述 在将应用部署到Weblogic Server 10.3时,出现了一个错误,抛出ClassCastException异常,具体错误信息为: `java.lang.ClassCastException: ...
3. **services** 目录:这里存放的是Axis2服务的部署档案,这些档案(通常为`.aar`格式)包含了Web服务的接口定义、实现类和服务元数据。 4. **repository** 目录:存储服务、模块、依赖库和其他资源的仓库。服务...
axis2实现WebService之复合类型数据的传递.doc
在 Axis2 的开发环境中,此插件扮演着至关重要的角色,它能帮助开发者自动生成与Web服务相关的客户端和服务器端代码,从而提高开发效率。 描述中提到,这个包是“必不可少”的,而且在开发过程中需要将其安装到...