问题标签 [jaxb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
17843 浏览

java - 在解组期间从 ElementNSImpl 到自己的类型的间歇性 ClassCastException

我们遇到了一个非常难以追踪的问题,我们有时会在尝试遍历未编组的对象列表时看到 ClassCastExceptions。重要的是有时,重新启动后特定代码可以正常工作。这似乎指向并发/计时/竞争条件的方向。我可以确认 JAXBContext 以及编组器和解组器都没有同时使用。我们已经通过锁定序列化对它们的访问。

但是,由于我们在 OSGi 平台上运行,其中各个包通过 Spring DM 异步初始化,因此可能有 2 个不同的包同时创建它们的 JAXBContext。

在任何情况下,我都会感谢任何指向解释可能导致这些间歇性ClassCastExceptions 的原因。间歇性很重要,因为它们表明代码本身正常工作,但某些外部因素似乎会影响行为。

这是异常的一个具体示例(注意我删除了公司特定的东西):

第 180 行的方法是一个 for() 构造,循环遍历未编组对象内部的 TunnelType 对象集合(顺便说一句,解组工作正常)。

鉴于实际的对象解组很顺利,JAXB 是否甚至可以在物理上将 ElementNSImpl 对象留在嵌套集合中?

运行环境:

  • JAXB 2.1
  • 操作系统
  • 弹簧DM
  • JAXBContext 使用包含要编组/解组的类的包的 ClassLoader 进行初始化
0 投票
2 回答
2652 浏览

java - 如何使用 JAXB 确保架构可扩展性

如果我在 Glassfish v2 下使用 JAXB 作为 Metro Web Services 的一部分,如何告诉 JAXB 添加:

标记到我生成的复杂类型,这样如果我将来进行更改以向我的响应对象添加元素或属性,那么我当前的客户端不会中断。

JAXB 文档似乎有些欠缺。

0 投票
3 回答
4390 浏览

java - JAXB XmlID 和 XmlIDREF 注释(Java 架构)

我正在使用 CXF 公开一个 Web 服务。我正在使用 @XmlID 和 @XmlIDREF JAXB 注释在编组/解组期间维护我的对象图的引用完整性。

WSDL 正确地包含具有 xs:id 和 xs:idref 属性的元素来表示这一点。

在服务器端,一切运行良好。用@XmlIDREF 注释的类型实例与用@XmlID 注释注释的实例是相同的实例(如==)。

但是,当我使用 WSDLToJava 生成客户端时,引用(那些用 @XmlIDREF 注释的)是 java.lang.Object 类型的。

有什么方法可以自定义 JAXB 绑定,使引用的类型要么是 java.lang.String (以匹配被引用类型的 ID),要么与被引用类型本身相同?

0 投票
2 回答
4988 浏览

java - Java 6 和 JaxB 2.1

Java 6 的原始版本随 JAXB 2 一起提供,但有人告诉我,“后来的”Java 6 版本随 JAXB 2.1 一起提供。

有谁知道与 JAXB 2.1 一起发布的第一个 Java 6 版本是什么?

0 投票
2 回答
5494 浏览

java - JAXB 文档注释

我有以下带有 JAXB @XMLRootElement 注释的 java 类

当我生成 xsd 模式时,它会产生这个 xml 片段

是否可以使用 JAXB 注释,以便将 address1 字段上的文档详细信息作为 xs:annotation/xs:documentention 元素包含在我的最终模式中?

0 投票
2 回答
2063 浏览

java - 创建自定义 JAXB 注释

人们对我如何编写自己的自定义 JAXB 注释处理类以支持在 xsd 模式中生成 xs:annotation/xs:documentation 元素有任何建议吗?我想创建一个新的 java 注释“@XmlAnnotation”,其中包含一个“文档”属性。然后,我将通过类路径将这些类提供给 JAXB 模式生成器。然后,模式生成器将采用这个示例 java 代码

并创建此 xsd 架构

从现有的 @XmlElement 注释类扩展,并且只添加对额外文档属性的支持会更容易吗?

0 投票
5 回答
10544 浏览

java - 如何在 Web 服务调用期间拦截 xml 响应和请求?

我想知道是否有一些巧妙的方法来拦截在 java webservice 方法调用期间发送的 xml 请求和响应中给出的 xml?我不想将这些 xml 打印到标准输出,而是在一些字符串中“捕获”它们。

0 投票
2 回答
5155 浏览

java - 将 CSV 映射到模型

我正在用 Java 编写一个简单的 CSV 到 XML 处理器。

我正在使用 JAXB 从 DTD 生成 java 模型。我需要将 CSV 格式处理成这个模型,然后将其编组为符合 DTD 的 XML。我正在使用 JAXB 将数据从 Java 模型整理到 XML。我必须自己编写 CSV 模型映射。

目前,我想不出比通过读入 CSV 并将其分配给代码中的模型来直接将其映射到 Java 模型更好的解决方案了。

您能想到一个更优雅的解决方案吗?也许一些可重用的映射库等?

提前致谢。

0 投票
3 回答
10143 浏览

java - JAXB 中的自定义序列化

有没有办法在 JAXB 中自定义 XML 序列化,就像在 .NET 中使用 IXmlSerializable 一样?(即使用等效的 XmlReader/Writer 直接控制对象序列化的能力)。

我已经查看了 XmlAdapter 和 @XmlJavaTypeAdapter,但它们似乎只是用于将类型转换为可序列化形式和从可序列化形式转换,这并不是我想要的。

更新:特别是,我想自定义根对象的反序列化,它以编程方式确定如何反序列化内部 XML(例如,创建具有一组特定已知类型的 jaxb 解组器)。

更新:我找到了解决问题的方法,但这是一个令人讨厌的 hack,我可能会采用其他海报建议的解决方案之一。

0 投票
1 回答
1387 浏览

xsd - 使用 trang 将 RELAX NG 转换为 XSD,同时保留外部命名空间元素(用于 JAXB)

我正在使用trang将 RELAX NG .rng 文件转换为 XML Schema .xsd 文件以用于 JAXB。有没有办法将属性/元素放在 .rng 文件中并让它们显示在 .xsd 文件中?我有一个用于 JAXB 设置的外部 .xjb 文件,但是有一些 JAXB 设置与架构本身非常紧密地耦合,似乎(以某种方式)将它们放在 .rng 文件中而不是更有意义.xjb 文件。

有什么建议吗?