问题标签 [castor]

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 投票
2 回答
2902 浏览

java - Castor:如何映射 Java 层次结构

我在映射层次结构时遇到了这个 Java-Castor 问题。谢谢你的时间。

我有这个 XML 文件:

这个 Java 层次结构:

还有这些 Castor 映射:

它不起作用,出现此错误:

0 投票
1 回答
3656 浏览

java - Spring 和 CastorMarshaller:将命名空间添加到 XML 根

我的 Java 应用程序尝试从 Web 服务获取信息。XML 请求需要在 XML 根元素(类名)中指定命名空间,但标签(类字段)的命名空间需要为空(null),否则 webservice 拒绝请求。

我必须使用带有 CastorMarshaller 的 Spring 3.0 和 Spring WS 2.0(当前使用 Castor 版本 1.3.1)来将我的 Java 对象编组/解组到 XML 中。

请注意以下代码片段中的__PREFIX____NAMESPACE__位置。

所需的编组输出 (即所需的生成 SOAP 请求)

当前编组的输出(即生成的 SOAP 请求)

不添加命名空间

或将命名空间添加到所有元素

这两个都被网络服务拒绝。

我的配置

CastorMarshaller bean inapplicationContext.xml

脚轮映射文件 castor-mapping.xml

不添加命名空间(castorMarshaller通过bean指定的命名空间namespaceMappings应该添加到根目录)

或将命名空间添加到所有元素

0 投票
1 回答
781 浏览

xsd - Castor 生成的类(XML 编组)- XSD 不可用

我最近搬到了一个项目,我注意到有一个特定的要求将一些数据存储为 XML。

之前的团队使用 Castor 生成的类来对数据进行编组和解组。

我现在有一个新要求,要求我向这个 XML 添加一些额外的(但可选的)字段。然而,我意识到之前的团队据说根本没有检查过 XSD,我也无法联系到他们。

XSD 肯定是庞大而复杂的,因为它负责生成大约 50 个类。因此,再次编写 XSD 将很容易出错,并且还存在我现在可能最终创建与旧 XML 兼容的 XML 的风险。

我想到的另一种选择是使用 XML Spy 之类的工具并尝试从 XML 逆向工程 XSD,但这听起来也有点困难,因为我需要对 20 个奇怪的 XML 进行逆向工程以生成 XSD,然后合并所有这些 XSD合二为一,因为 XML 有几个可选部分。这种方法仍然可能存在错误因素。

我能想到的最佳选择是将类逆向工程为 XSD - 但是 Castor 据说不支持此功能。所以我没有办法将这些 Castor 生成的类转换回 XSD!虽然 Castor 生成的类确实有一些 Castor 特定的方法,但如果忽略 Castor 特定的方法,它们本质上就是 Pojos!

我们对从 java 类获取或生成 XSD 有什么建议吗?我们还有其他建议来解决我讨论的问题吗?

谢谢你。

0 投票
1 回答
1966 浏览

marshalling - 如何告诉 castor 将一个空字段编组为一个空标签?

我正在编组一个可以将某些字段设置为空的对象。我正在使用带有 xml 映射文件的 castor 进行配置。我正在编组的课程是这样的:

...和这样的映射文件:

如果该字段为空(简化示例),我现在得到什么:

虽然我想在生成的 XML 中有一个空标签,即使描述字段为空。

0 投票
1 回答
1608 浏览

object - Castor Marshaller 为空对象返回空标签

我们正在使用 Castor 将 Castor 对象解组为 XML 字符串。Castor 不会为空对象生成空标签。解组时是否有可用的 API 将其设置为参数?

有一种方法可以通过使用处理程序来处理它并覆盖 convertUponGet 方法以返回空字符串。但是,有没有更好的办法呢?

任何线索都会有所帮助。

0 投票
3 回答
30637 浏览

maven - Maven:没有找到处理 castor、antrun 和 ear 插件的市场条目

我正在将一个 Maven 项目导入 Eclipse。我安装了 m2e 插件,它指向我机器上的 maven 2.2.1。

我收到这三个错误:

  • 在 Eclipse 中找不到处理 castor-maven-plugin:1.0:generate 的市场条目
  • 没有找到处理 maven-antrun-plugin:1.1:run in Eclipse 的市场条目
  • 在 Eclipse 中找不到处理 maven-ear-plugin:2.3.1:generate-application-xml 的市场条目

提供的任何资源将不胜感激。

谢谢

0 投票
1 回答
1632 浏览

java - Castor 库中的 NoClassDefFoundError

我正在尝试使用 Lizzy 库 ( http://lizzy.sourceforge.net/ ) 进行一些播放列表操作。作为依赖项,它要求我的构建路径中有 Castor 库 ( http://www.castor.org/ )。所以我去了该站点,下载了 Castor 1.3.1,然后将 .jar 放入我的构建路径。

但是,当我尝试运行这行代码将特定播放列表文件转换为通用播放列表对象时:

我最终得到一个 NoClassDefFoundError:

我是否缺少 .jar 文件?我设法创建了一个 CastorException 类的实例(但它与异常所讨论的包不同)。我认为基本的 Castor-1.3.1.jar 文件包含它需要的所有类。

附加信息:我正在尝试解码 Lizzy 应该支持的 .wpl 播放列表文件。我的构建路径如下所示:

我的构建路径

谢谢你的帮助。

0 投票
2 回答
7380 浏览

java - Java 到 XML 脚轮映射

我正在尝试将 POJO 映射到 xml。现在 POJO 由一些属性组成,这些属性是基本的 String/Integer 等,还有一些是其他 POJO 类。我试图创建的 xml 映射文件,我希望在顶层的 xml 元素中填充一个深度为 2 级的 java 属性。

例如,如果我有 2 个 java 类 `

现在我的 xml 映射看起来像

CruiseLine 测绘

` 如您所见,我想要 xml 元素 Sample 中来自 classC 的 var4 的映射。我希望它成为示例元素的一个元素。

`

`

帮助表示赞赏!

0 投票
1 回答
1317 浏览

validation - 如何获得 Axis/Castor Web 服务来验证针对 XSD 的请求?

我使用我们组织内另一个团队开发的 XSD 以合同优先(自上而下)的方式开发了一个小型 Web 服务。我遇到的问题是,如果请求格式稍有错误,服务仍会运行。我真的需要它来验证针对 XSD 的请求,但我不知道如何强制 Axis 或 Castor 这样做。

当我说“格式稍有错误”时,我的意思是请求包含正确的元素,但排序不正确。在 Castor 解组期间,将拒绝真正格式错误的请求。格式稍有错误的请求将解组,并可能产生不希望的结果。这是一个例子:

一个有效的请求应该包含如下所示的项目列表:

这将正确解组,Web 服务将处理所有三个值。

但是,我发现如果像这样呈现相同的一组值:

然后这也将以与第一个示例相同的方式解组,并且将处理所有三个值。在这种情况下,最终结果是可以接受的,但是根据 XSD,这种结构是不正确的,我更希望它产生故障。

这是取自 XSD 的请求定义:

SoapUI 将第二个示例报告为无效,因此我确信 XSD 是正确的。

我已经尝试了一些方法来强制进行 XSD 验证,但到目前为止没有任何效果。有谁知道如何强制 Axis 或 Castor 进行验证?

由于历史原因,我正在使用这两个组件的旧版本 - Axis 1.3 和 Castor 1.1,但如果我能让 XSD 验证正常工作,我愿意承受任何升级的痛苦。

非常感谢

史蒂夫

0 投票
0 回答
147 浏览

java - 用 Castor 编组循环实体

我想使用静态 Marshall 方法用 Castor 编组以下实体。然而,由于实体对自身有引用,所以它开始循环,如果不崩溃,它会从 44 个 DB 行构建我 100MB 的文件。属性上的@XmlTransient 没有帮助。ORM 是 eclipseLink、EJB 3 (ADF 11.1.2.1.0)