- 浏览: 310614 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
ae6623:
ae6623 写道大哥,你是怎么知道它对临时文件有限制的,我也 ...
导出excel2007 poi3.8 -
ae6623:
大哥,你是怎么知道它对临时文件有限制的,我也发现这个bug了, ...
导出excel2007 poi3.8 -
coralandbill:
下载不了啊 能不能给我发一个simpleProj.war包啊 ...
jqgrid使用步骤及说明 -
maojin:
这是jqgrid几?那个电话号码校验的函数能调到吗?
jqgrid使用步骤及说明 -
qingyezhu:
请问,用poi3.8中的wordtohtmlconver类将d ...
导出excel2007 poi3.8
SOAP中不支持HashMap,但可以通过适配器将数组转换成HashMap的方式来支持。
这是通过JAXB2.0中一个适配器类来转换的,先看下这个类的说明:
javax.xml.bind.annotation.adapters
类 XmlAdapter<ValueType,BoundType>
java.lang.Object
javax.xml.bind.annotation.adapters.XmlAdapter<ValueType,BoundType>
BoundType
- JAXB 不知道如何处理的一些类型。编写一个适配器,以便允许通过 ValueType
将此类型用作内存表示形式。
ValueType
- JAXB 无需其他操作便知道如何处理的类型。
这样,我们先定义一个用来传送数据的通用数组,包含了KEY和VALUE两个成员用来存MAP的项:



















再定义一个转换类:(数组到HashMap的转换)



































我们需要在一个结构中来包含使用HashMap的变量,因为必须为这个变量再声明一个@XmlJavaTypeAdapter,这样JAXB才会在收到相应消息时调用我们的转换类。这是结构定义:


































最后,在SOAP服务的声明中,使用这个结构:(注意是sendAlarmMap方法)























下面,我们来看如何通过JAVA及PERL的方式调用这个服务:
JAVA的方式:













PERL的方式:




































产生的SOAP消息如下:






总结:
有了转换器这个工具,我们可以在SOAP的JAXB绑定里支持各种JAVA的COLLECTION类型,以及自定义类型,打破了SOAP原始支持类型的限制。
发表评论
-
JVM配置详解及调优
2012-06-21 14:13 1203堆大小设置 JVM 中最大 ... -
WABACUS框架介绍
2012-05-17 10:07 2164... -
JAVA开发性能调优
2012-05-09 11:41 1065下面是参考网络资源总结的一些在Java编程中尽可能要做到 ... -
使用WFetch查看HTTP请求、响应报文
2012-05-07 10:36 1369WFetch界面比较简陋,但是已经满足我的一般需求了。想 ... -
java命令行指定JDK运行环境
2011-12-14 22:05 2887set path=C:/Program Files/J ... -
ibaitis 级联查询
2011-04-12 13:10 2608使用iBatis开发已经有一年了,这一年来不管愿意不愿意,喜欢 ... -
关于struts2 遍历Map最全的总结
2011-04-06 16:44 1073Struts2 中iterator标签遍 ... -
Struts2+JSON+jQuery实现异步交互数据时选择要序列化的属性(一注解方式)
2011-03-29 00:59 1671在使用Struts2的JSON插件,实现Action中的属性序 ... -
struts2 + jquery struts2 处理json
2011-03-28 14:10 2487<package name="default& ... -
cascade 与 inverse区别
2011-03-15 09:58 1085一、cascade 1.概述 ... -
hibernate fetch的select 和 join的区别
2011-03-11 17:15 3742join 查询的时候,是用一条语句查处所有记录,包括关联表记录 ... -
深入struts2的配置文件 struts2标签解释
2011-03-08 22:59 1759[color=darkred][/color]深入struts ... -
ajax访问SSH2返回connect异常的处理
2011-03-08 22:38 1563在struts2 pojo action中有对象属性的,并被h ... -
SSH2整合设计 事务管理
2011-03-08 22:27 1629ssh2整合SSH2整合 2009-12-02 09:31:4 ... -
ssh dao设计
2011-03-07 23:45 1209spring和hibernate 泛型:http://lbxh ... -
ldap查询条件
2010-08-30 09:19 2651定义查询过滤器(Search Filter Definitio ... -
java.lang.NoSuchMethodError: com.sun.xml.ws.api.server.WSEndpoint.getPolicyMap()
2010-07-20 16:42 4620在使用CXF 和spring发布WEB服务时出现了java.l ... -
jax ws 注释详解
2010-07-09 10:38 2789基于 XML 的 Web Service 的 Java A ... -
Rest 和 soap比较
2010-07-07 15:48 1206我有这样一个推断,在计算机世界中,但凡那些让开发人员记住的重要 ... -
serviceMix发布webservice服务
2010-07-07 09:44 3015利用serviceMix对外发布外部的webservice服务 ...
相关推荐
2. **自定义数据类型**:对于像Map这样的复杂类型,开发者可以创建自定义的数据类型来映射XML元素。这通常涉及到创建一个Java类,该类具有一个或多个属性,用于存储Map的键值对,并通过注解这些属性来指示CXF如何...
而JAXB(Java Architecture for XML Binding)是Java平台的标准,用于将XML数据与Java对象之间进行绑定,使得开发者可以方便地在XML文档和Java对象之间转换。在处理CXF与JAXB的集成时,有时会遇到版本冲突的问题,...
- **强大的数据绑定**:CXF使用JAXB进行XML到Java对象的自动转换,简化了数据处理。 - **良好的社区支持**:由于是开源项目,Apache CXF拥有活跃的开发者社区,能及时解决用户遇到的问题。 总的来说,Apache CXF是...
赠送jar包:cxf-rt-databinding-jaxb-3.0.1.jar; 赠送原API文档:cxf-rt-databinding-jaxb-3.0.1-javadoc.jar; 赠送源代码:cxf-rt-databinding-jaxb-3.0.1-sources.jar; 赠送Maven依赖信息文件:cxf-rt-...
在提供的压缩包“ws_test”中,很可能包含了使用CXF实现的Web服务示例,包括JAX-WS和JAX-RS的服务端点,以及使用JAXB进行数据交换的类。这个实例可能是全部手写的,意味着它提供了一整套从创建服务到处理请求和响应...
CXF支持JAXB、Aegis等多种数据绑定机制。 6. **Message**:CXF中的消息模型用于表示通信中的数据,包括请求和响应。 在源码`cxf-core-3.2.4`中,我们可以看到以下几个关键模块: 1. **spi**:服务提供接口,定义了...
- Aegis:CXF 内置的数据绑定引擎,支持非标准的 Java 对象序列化。 通过这个“cxf 完整的服务端客户端”示例,你可以深入理解 CXF 如何处理服务发布、服务消费、数据绑定、异常处理等核心功能,并能更好地掌握 Web...
然而,CXF在默认情况下并不支持所有类型的复杂数据类型,尤其是如Map、List这样的集合类型。当我们在服务接口中使用这些类型作为参数或返回值时,可能会遇到问题,因为CXF可能无法正确地序列化和反序列化它们。 ...
9. **数据绑定技术**:CXF支持多种数据绑定技术,如JAXB(Java Architecture for XML Binding)和XStream,将XML数据自动映射到Java对象,简化了数据处理。 10. **性能优化**:Apache CXF允许进行性能调整,例如...
在实际应用中,我们需要在CXF服务端创建服务接口和实现,然后通过JAXB(Java Architecture for XML Binding)进行数据绑定。JAXB会自动将Java对象转换为XML,反之亦然。在服务接口中,可以定义如下的方法: ```java...
Aegis数据绑定支持基本的数据类型、集合、Map以及自定义的Java类,为开发者提供了一种灵活的方式来处理Java对象和服务之间的转换。 以下是使用Apache CXF结合Spring发布Web Services(Aegis数据绑定)的基本步骤: ...
**JAXB(Java Architecture for XML Binding)** 是Java平台的一个标准,它允许开发者将XML文档和Java对象进行绑定,从而简化XML数据的处理。在Java 6中,JAXB是内置的API,但在更新的JDK版本中,它被移除了,转而...
覆盖以下内容:基于JAX-WS规范和CXF自身的前端模式实现,CXF支持的数据绑定(DataBindings),CXF支持的WSDL绑定,CXF支持的传输协议绑定。CXF的调式、配置、日志、发布和工具。CXF实现RESTful服务。CXF对WS-* 的...
1. **转换器实现**:开发者可能会定义一个或多个类,这些类实现了`org.apache.cxf.converters.Converter`接口,以便处理特定数据类型的转换。 2. **注册转换器**:为了让CXF知道如何使用这些转换器,开发者需要在...
- CXF的JAXB和XML绑定工具:用于处理数据序列化和反序列化。 总结,通过Apache CXF,我们可以轻松地在PC端和Android端之间建立Web Service通信,实现数据的高效交互。理解并掌握这些知识点对于跨平台应用开发至关...
- `cxf-rt-databinding-jaxb.jar`:JAXB数据绑定支持。 - `cxf-rt-rs-extension-providers.jar`:RESTful服务的额外提供者。 以上就是关于CXF基本jar包的详细说明。在实际开发中,根据项目的具体需求,可能还需要...
4. **数据绑定**:CXF支持多种数据绑定技术,如JAXB(Java Architecture for XML Binding)用于XML和Java对象之间的转换,以及Aegis绑定,用于非JAXB对象的处理。 5. **MTOM和SwA支持**:CXF实现了Message ...
Apache CXF目前仅支持JAXB和Aegis,默认是JAXB 2.0,但CXF 2.1版本中将支持XMLBeans、JiBX和Castor等数据绑定。 语言支持 Axis2支持多种语言,它有C/C++版本,能够满足更多的语言需求。Apache CXF目前暂不支持多...
5. **数据绑定**:CXF支持多种数据绑定技术,如JAXB(Java Architecture for XML Binding)用于XML到Java对象的映射,以及Aegis绑定,用于非JAXB对象的XML处理。 6. **安全功能**:CXF提供了全面的安全性支持,包括...
在这样的背景下,"cxf多数据源配置"指的是如何在CXF项目中配置并管理多个数据源,以便灵活地访问和操作不同来源的数据。 【描述】:“通过cxf将多个webServices整合到一起方便管理与维护” 这个描述意味着我们正在...