`
123003473
  • 浏览: 1059950 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Axis2 不能传递Map等复杂数据类型解决方案 .

 
阅读更多
一.用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
分享到:
评论

相关推荐

    axis2解决 org.apache.axis2.util.JavaUtils.callStackToString问题

    7. **查阅官方文档和社区资源**:如果以上步骤不能解决问题,可以查阅Apache Axis2的官方文档,或者在Apache Axis2的用户论坛、Stack Overflow等社区寻求帮助,看看其他人是否遇到过类似问题并找到了解决方案。...

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

    在 Axis1.4 中传递复杂类型数组参数,涉及到的是 Web 服务中的数据绑定和消息处理。Axis 是一个开源的 SOAP 库,它允许开发者创建、部署和使用 Web 服务。在处理复杂类型数组时,ArrayMapping 是 Axis 中的一个关键...

    axis2_demo实战 复杂对象传输 文件传输

    总的来说,这个实战教程将指导你如何利用Axis2创建Web服务,处理各种类型的数据,包括列表、对象和文件,这对于开发分布式应用和构建企业级集成解决方案具有很高的价值。通过学习和实践,你将能够熟练掌握Axis2的...

    axis2.jar 解决 org.apache.axis2.util.JavaUtils.callStackToString问题

    &lt;Call Stack = DEBUG_FRAME = org.apache.axis2.util.JavaUtils.callStackToString(JavaUtils.java:564) DEBUG_FRAME = org.apache.axis2.description.ParameterIncludeImpl.debugParameterAdd(ParameterIncludeImpl...

    axis 1.x与axis2.x开发

    Axis1.x的jar文件主要包括axis.jar、commons-discovery.jar、commons-logging.jar等,这些文件需要添加到项目的类路径中。而Axis2.x的依赖更多,包括axis2-*.jar、axiom-*.jar、wsdl4j-*.jar等,还需要根据具体需求...

    axis2的API,axis2 API,axis2帮助文档

    Axis2是Apache Axis的第二代版本,它在第一代的基础上进行了许多改进和优化,提供了更高效、灵活的Web服务解决方案。Axis2基于模块化设计,允许用户按需选择功能,从而降低了内存占用和提高了性能。它支持多种协议,...

    axis1.4和axis2相关jar文件

    然而,随着Web服务技术的发展,Axis1的一些局限性逐渐显现,如性能较低、代码生成复杂等,因此Apache社区推出了更加强大的**Axis2**。 **Axis2** 是Axis1的升级版,发布于2006年,它基于新的架构,旨在提高性能和可...

    webServices学习之二——axis1传递复杂类型javabean

    总结一下,"webServices学习之二——axis1传递复杂类型javabean"这篇文章可能会详细讲解如何使用Axis1框架处理JavaBean对象,包括创建JavaBean、生成WSDL、部署服务以及客户端调用等步骤。了解这些内容对于开发基于...

    Axis2.jar包

    在描述中提到的“之前公司用了webservice搞了好就 写了好几种”,这可能意味着使用Axis2来实现不同类型的Web服务接口,或者在不同的项目中进行了多次的Web服务开发。 **标签:** 1. **Java** - Axis2是基于Java...

    axis2-1.6.1.rar

    10. **社区支持**:由于是开源项目,Axis2拥有活跃的开发者社区,提供了丰富的文档、示例和在线支持,帮助用户解决问题。 在实际使用中,解压"axis2-1.6.1.rar"后,你可能会找到如下文件和目录: - `bin`:包含...

    axis2-idea-plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_

    标题中的"axis2-idea-plugin-1.7.9.zip_axis2_axis2-idea-plugin_idea导入axis2_"提到了几个关键元素,分别是"axis2"、"idea-plugin"和"idea导入axis2",这暗示了这个压缩包是用于在IntelliJ IDEA这款集成开发环境...

    axis2-1.5.1-bin.zip axis2-1.5.1-war.zip axis2部署使用

    Apache Axis2是著名的开源Web服务框架,用于构建和部署高效且灵活的Web服务。这个框架是基于Axis1的升级版,提供了许多改进和新特性,包括更好的性能、模块化架构和增强的MIME支持。标题提到的“axis2-1.5.1-bin.zip...

    axis2相关的jar包

    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

    7. **性能优化**:Axis2采用内存高效的数据结构和序列化机制,以提高处理大规模消息的性能。 8. **多语言支持**:尽管轴心是Java实现,但通过 Axis2 的AXIOM(抽象XML信息模型)层,可以与其他语言如C、PHP和Python...

    axis2常见异常总结

    6. Axis2 创建的WebService方法参数不能是数组类型的 如果我们想传入一个数组类型的参数给 Axis2 创建的 WebService 方法,那么需要将其转换为字符串,方可传递。例如,我们可以将 int[] array=new int[]{1,2,3,4} ...

    org.apache.axis2.jar

    org.apache.axis2.jar

    将应用部署在weblogic中于axis2冲突的问题及解决方案

    "将应用部署在Weblogic中与Axis2冲突的问题及解决方案" 问题描述 在将应用部署到Weblogic Server 10.3时,出现了一个错误,抛出ClassCastException异常,具体错误信息为: `java.lang.ClassCastException: ...

    axis2-1.7.9.zip

    3. **services** 目录:这里存放的是Axis2服务的部署档案,这些档案(通常为`.aar`格式)包含了Web服务的接口定义、实现类和服务元数据。 4. **repository** 目录:存储服务、模块、依赖库和其他资源的仓库。服务...

    axis2实现WebService之复合类型数据的传递.doc编程资料

    axis2实现WebService之复合类型数据的传递.doc

    axis2.eclipse.codengen.plugin-SNAPSHOT-axis2-eclipse-codege-plugin.zip

    在 Axis2 的开发环境中,此插件扮演着至关重要的角色,它能帮助开发者自动生成与Web服务相关的客户端和服务器端代码,从而提高开发效率。 描述中提到,这个包是“必不可少”的,而且在开发过程中需要将其安装到...

Global site tag (gtag.js) - Google Analytics