问题标签 [moxy]

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 投票
1 回答
1838 浏览

java - 使用 MOXy 和 XPath,是否可以解组两个属性列表?

请注意,这不是我提出的另一个问题的重复,“使用 MOXy 和 XPath,是否可以解组属性列表? ”它很相似,但不一样。

我的 XML 看起来像这样:

这类似于我之前的问题中的 xml,除了现在每个项目有两个属性而不是一个。

在我的课堂上:

感谢我之前的问题的答案,我能够将type属性解组到列表中。 brandList,但是,是空的。如果我注释掉注释itemList(所以它不是由 JAXB/MOXy 填充)然后brandList包含正确的值。

看来我只能使用 XPath 将单个属性解组到列表中。这是设计使然还是我配置错误?

更新:似乎我也无法从元素中解组文本和属性。如果我的班级是这样映射的:

brandList在这种情况下也是空的。brandList如果我先切换订单和地图,itemList则为空。就好像第一个映射消耗了元素,因此无法读取基于该元素或其属性的更多值。

0 投票
3 回答
11528 浏览

java - 我的 jax-ws webservice 客户端只返回空对象

我有一个第三方 Web 服务,我使用 wsimport 为其生成一个客户端。对 web 服务的每次调用都成功完成,但是我返回的响应对象的所有字段都设置为 null。监控网络我可以看到在网络上响应消息中的所有 XML 元素都有值,因此对象中应该有非空数据。此外,使用旧 axis1 生成并使用相同数据调用的相同服务的客户端返回非空响应。知道发生了什么吗?(如果有什么不同,我使用的是 MOXy 的 JAXB 实现)。

更新:我已经能够缩小范围。wsdl 在它自己的命名空间中定义对象,比如http://www.acme.com/ws. 我从服务中得到的响应是

并且被解组为一个非空值OpINFOWLResponse,该非空值环绕一个非空responseINFOWL对象,所有字段都设置为空。只是为了好玩,我尝试写几行来解​​组上面的代码片段(在剥离 SOAP 开销之后)

我得到了同样的结果。如果我将上面的 XML 更改为

一切正常。真可惜。

更新(再次):jaxb-RI 和 Moxy 的行为相同。仍然不知道出了什么问题。

更新(9 月 9 日):下面关于命名空间限定错误的建议很有趣,但我认为 wsimport 可以解决问题。无论如何,这是我的package-info.java

ResponseINFOWL这是课程的相关部分

我尝试过使用命名空间,package-info但仍然没有乐趣。

0 投票
1 回答
1769 浏览

java - 使用 MOXy 读取 XML 时,如何将字段标记为必填/可选?

有这样一个简单的代码:

只要我的 XML 中有合适的值,它就可以正常工作。我想c根据需要标记该字段,因此每次我尝试读取c未设置或无效的文档时都会抛出 MOXy。最简单的解决方案是什么?

更新:

设置默认值也可以。

0 投票
1 回答
1342 浏览

java - 指定备用 JAXB 提供程序

在我的 Grails 应用程序中,我想使用EclipseLink作为 JAXB 提供程序。我尝试添加一个grails-app\conf\jaxb.properties包含内容的文件

但似乎仍在使用默认的 JAXB 提供程序。我已经确认 EclipseLink 的相关 JAR 在我的运行时类路径中。

0 投票
1 回答
2372 浏览

jaxb - 无法导入 JABX XmlPath 类

我正在处理需要解组操作的应用程序。

这是我的输入文件结构:

并解组我创建三个 POJO 类:Root GeneralInfo 和 Doctype

我的问题是我可以

但是当我:

有人知道如何解决吗?

提前致谢。

0 投票
1 回答
568 浏览

java - 带有 MOXy 的 JAXB 2.x (Eclipselink 2.1.2):将 XHTML 持久化为元素值

重要提示:已更新解决方案!

请参阅带有 MOXy 的 JAXB 2.x (Eclipselink 2.1.2):将 XHTML 持久化为元素值


我想通过 JAXB 将 XHTML 存储为 XML 的节点值,例如

应该“按原样”存储在 XML 中:

因为我使用 MOXy 作为 JAXB Impl,所以我想试试这个(版本 2.1.2):

但是,内容被编组为转义代码,之后我无法将其显示为 XHTML 片段。

首先:我在哪里可以下载最新版本的 MOXy?这可能是 2.1.2 中的错误。maven repo 不知何故不再可用:http: //download.eclipse.org/rt/eclipselink/maven.repo

该链接位于 http://wiki.eclipse.org/EclipseLink/Maven

谢谢

0 投票
1 回答
1519 浏览

java - 是否可以在对象和属性属于同一类型的情况下使用 @XmlInverseReference?

我正在使用 MOXy JAXB 实现并广泛使用 @XmlInverseReference 注释。但是,我最近遇到了这种方法似乎不起作用的情况。如果我有一个类包含一个属性与父类相同类型的字段,则应用 @XmlInverseReference 似乎完全抑制了该属性的编组。省略注释会产生可预测的 StackoverflowException。

有没有人遇到过这个问题并发现了 MOXy 的有效解决方案?

违规类的快速示例:

0 投票
1 回答
1409 浏览

java - JAXB MOXy 中的静态工厂方法

我正在定义一个静态工厂方法:

我使用工厂方法的原因MyClass是抽象的,如何获取它的实例取决于类的某些注释。这个逻辑嵌入在工厂方法createNew中。

此外,工厂类DummyFactory是抽象的。据我了解,如果工厂方法是静态的( http://download.oracle.com/javaee/6/api/javax/xml/bind/annotation/XmlType.html),工厂类不需要提供默认构造函数.

这是工厂类外观的原始简化:

但是,当我尝试解组 XML 文档时,出现以下异常:

首先,我认为我在工厂类和方法的解释中没有得到正确的解释,但后来我尝试使用 JAXB RI,这在那里工作正常。所以我的问题是:

有没有办法让 MOXy 与抽象工厂类一起工作?

(JAXB RI 给我带来了其他类型的问题,这就是我不想使用它的原因)。

0 投票
1 回答
707 浏览

java - JAXB MOXy 中的列表包装器

我声明一个 List 对象属性:

当编组具有空列表的此类的实例时myList,MOXy 不会生成空 wrapper MyListWrapper。但是,JAXB RI 会这样做。使用 RI 时生成的 XML 如下所示:

有没有办法用 MOXy 获得相同的结果?

0 投票
1 回答
5620 浏览

jpa - 使用 JAXB 将 xml 映射到 jpa 实体

是否可以使用 JAXB 将 xml 映射到 jpa 实体?Eclipselink Moxy 会有帮助吗?