当前位置: 首页 > 面试题库 >

您会推荐哪种Java的SOAP XML对象序列化库?

单于善
2023-03-14
问题内容

您将建议使用哪个Java SOAP XML对象序列化库与其他平台/语言(.NET,Delphi) 交换Java对象

通信方案可能如下所示:

  • Java对象编写器-> SOAP XML文本-> .NET或Delphi对象阅读器
  • .NET或Delphi对象编写器-> SOAP XML文本-> Java对象读取器

我知道有XStream XML序列化库和JSON作为替代解决方案,但是由于Delphi和.Net内置了对SOAP
XML序列化对象的支持,因此这将提供“标准化”的方式,并支持嵌套对象,数组等高级功能等等。

编辑: 同时,我发现 JAXB -
(https://jaxb.dev.java.net/), JAXMe
JiBX的 -
XML绑定到Java代码(http://jibx.sourceforge.net/)。但是默认情况下,它们不会生成SOAP序列化的XML。

一个可能的解决方案是一个Web服务库,该库可以在没有HTTP服务器的情况下运行,并为SOAP
XML内容(不是完整的请求,只是序列化的对象)提供了一个简单的文件接口。 Axis 2CXF 看起来非常有趣。


问题答案:

我更喜欢使用JAX-WS(具有JAXB 2.1数据绑定),而不是我使用的其他库(JAX-RPC,Axis 1和2,但不是XFire)。JAXB
2数据绑定使用泛型,这使得maxoccurs> 1可以令人愉快地映射属性。JAX-
WS本身已被很好地记录在案并提供了一个相当不错的API。在某些情况下,方法和参数注释可能会有些失控-注释形式的XML地狱。通常情况还不错。

JAX-WS堆栈的一个不错的方面是Metro项目,该项目由Sun与Microsoft共同开发,并且与Web服务支持.NET
3.0可以很好地互操作,甚至可以以可行的方式实现MTOM。



 类似资料:
  • 问题内容: 我正在寻找类似dom4j的东西,但没有dom4j的缺陷,例如不良或缺少文档以及看似停滞的开发状态。 背景:我一直在使用和 倡导dom4j,但是对此感觉并不完全正确,因为我知道该库远非最佳选择(示例:查看如何记录与XSLT相关的Stylesheet类中的方法;运行该传递什么( )作为String mode参数? 要求:与使用 纯JDK(javax.xml和org.w3c.dom软件包)相

  • 本文向大家介绍java对象的序列化和反序列化,包括了java对象的序列化和反序列化的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java对象的序列化和反序列化,供大家参考,具体内容如下 1. 什么是序列化        将对象转换为字节流保存起来,比如保存到文件里,并在以后还原这个对象,这种机制叫做对象序列化。(补充一句:把对象保存到永久存储设备上称为持久化) 2. 怎么实现序列化

  • 错误: java.lang.ClassNotFoundException:testprocedure.tp$3在java.net.URLClassLoader$1上运行(未知源)在java.net.URLClassLoader上运行(未知源)在java.security.accessController.doprivileged(本机方法)在java.net.URLClassLoader.find

  • 所以我只是从移动到。像往常一样,一个看似简单的变化之后是一些副作用,包括吞下异常——抱歉咆哮。 这是我过去访问用户主体的方式: 出于某种原因,总是只返回用户名,而不是对象。这对我来说已经足够好了,所以我就这么做了。 现在我已经更改了令牌存储,确实返回了对象。我可以忍受这一点,但我想知道为什么这突然改变了——因为这一点,我不得不重构一些代码,因为到目前为止,我一直期望用户名来自。我也想知道我是否能改

  • 我最近开始了解微服务以及围绕它们的东西,比如API网关,现在我正试图为API网关平台或模式选择最好的工具。我知道你需要得到我的要求才能推荐它。虽然考虑简单,但反向代理、Http头/体调整、Http负载平衡和授权/认证是我们的第一步要求,重要的是我能够将API平台dockerized化。 请注意:我的微服务应用程序基于 Spring 启动应用程序。 谢谢你。

  • 问题内容: 我目前正在一个项目中,该项目需要保留任何类型的对象(我们没有任何控制权的实现),以便以后可以恢复这些对象。 我们无法实现ORM,因为我们不能在开发时限制我们库的用户。 我们的第一个选择是使用Java默认序列化对其进行序列化,但是当用户开始传递同一对象的不同版本(属性更改的类型,名称等)时,恢复对象存在很多麻烦。 我们尝试使用XMLEncoder类(将对象转换为XML),但是发现缺少功能