当前位置: 首页 > 知识库问答 >
问题:

带有Spring OXM的多个封送器/解封器

公冶兴文
2023-03-14

我有一个遗留web服务项目,它接收两个不同的XML模式,但属性名称相同(包括根元素)。我正在使用Spring、OXM和JAXB2进行编组/解组。

我已经用另一个问题解决了前面的一个问题,所以我使用SAX解析器来确定使用哪一个解组器。解析XML时,我检查一个值,然后就可以使用反编组器或其他反编组器。

JAXBContext jc = JAXBContext.newInstance(MyClass1.class);
myClass1Object = (MyClass1) jc.createUnmarshaller().unmarshal(new StreamSource(new StringReader(xml)));
JAXBContext jc = JAXBContext.newInstance(MyClass2.class);
myClass2Object = (MyClass2) jc.createUnmarshaller().unmarshal(new StreamSource(new StringReader(xml)));

我如何将其转换为更Spring(OXM)的方法呢?

共有1个答案

吴展
2023-03-14

首先,我尝试在应用程序上下文文件中声明JAXBContext实例,但最后我尝试更改一个XML模式的名称空间。现在我正在使用Spring OXM对我的两个XML模式进行整理/解整理,没有任何问题。

 类似资料:
  • 我正在尝试使用JAXB进行封送处理。 我的输出是这样的: ...但我需要这样的输出: 如果取消对代码的注释,则会得到。没有它,我可以编译,但我不能得到所需的精确输出。 我的豆子长这样: 适配器类

  • 我有以下类型,在架构中定义为: 生成的JAXB类: 使用此类型的一些JAXB类: 当我将此XML解组为JAXB对象时: 这份名单从何而来?info_analytics映射到没有任何集合/数组的类型。 如果我得到这个JSON,umarshall将其转换为JAXB对象,marshall转换为XML,它将生成: 为什么元素作为属性重复? XML:

  • 我有以下配置 我从orderPlaced(一个rabbit队列)中读取,然后将对象解封为OrderModel,然后执行两个进程,其中第二个进程将body对象类型从OrderModel更改为SalesOrder,但当封送消息时,我得到一个错误 虽然我指定封送器使用salesOrder数据格式,但在做事情的最后,由于某种原因它使用的是orderModel数据格式,但我无法确定原因。 这就是SalesO

  • null 杰克逊在默认情况下有能力做到这一点。

  • 我试图使用DocuSign REST API创建一个包含多个文档的信封,我创建了一个C#控制台应用程序,并以JSON格式在请求中写入了信封参数。我得到了错误代码“信封不完整”,我试图将我的请求与REST API Docusign指南中的请求进行比较,但我看不到我遗漏了什么。下面是我的示例代码: POST https://demo.docusign.net/restapi/v2/accounts/2

  • 从 BaseX 服务器执行的 X 查询中,我得到这样的结果: 我需要用JAXB将这个结果转换成Protocollo对象的列表,以便用JList显示它们。因此,在这里的一次讨论之后,我声明了下面的类: 和 最后,我这样执行对话: 我不断得到这个例外: 我想我在注释方面犯了一些错误。你能帮忙吗?