jaxb 相关问题

用于XML绑定的Java体系结构是将XML用作域对象的Java标准。它提供了一种将Java类映射到XML表示的简单机制。

Jakarta 和 javax JAXB 包可以在同一个项目中共存吗?

我的项目中有两个库: 库 A 依赖于旧的 XML 绑定库 javax.xml.bind... 库 B 依赖于新的 XML 绑定库 jakarta.xml.bind... <

回答 1 投票 0

Wsdl2Java 生成带有 protected List 的类<JAXBElement<?>> content

我们正在尝试与 https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/taiif/wsdl/ixgd/DpiNtnlDeclaration_v1.0.wsdl 中发布的服务集成 我们已经配置了我们的 g...

回答 1 投票 0

当没有命名空间时,通过声明类型进行的 jaxb 解组不起作用

我正在为 VAST 文档构建一个解析器,这些文档是 XML 文档,有一个官方 XSD,有几个版本:https://github.com/InteractiveAdvertisingBureau/vast/tree/master 我...

回答 1 投票 0

java.lang.NoSuchMethodError:org.apache.cxf.common.jaxb.JAXBContextCache$CachedContextAndSchemas.getContext()Ljavax/xml/bind/JAXBContext

我使用 Maven 启动项目时出现以下错误(干净验证): [错误] it.bper.testing.integration.LocalStorageFoldersIT.testLocalStorageFoldersTimeout -- 已用时间:9.049 秒 <<...

回答 2 投票 0

如何在没有中间容器类的情况下使用jaxb映射各种类型的对象列表?

我有这个架构: 我有这个架构: <xs:element name="document" type="Document/> <xs:complexType name="Document"> <xs:sequence> <xs:element name="description" type="xs:string" minOccurs="0"/> <xs:element name="destination" type="xs:string" minOccurs="0"/> <xs:element name="tags" type="TagList" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="TagList"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:any processContents="lax" namespace="http://www.example.com/schema/tags"/> </xs:choice> </xs:complexType> 此架构支持以下 XML: <document> <description>the description</description> <destination>the destination</destination> <tags> <tagA> <propA1>...</propA1> <propA2>...</propA2> ... </tagA> <tagB> <propB1>...</propB1> <propB2>...</propB2> ... </tagB> ... </tags> </document> 由 tags 表示的列表包含 0+ 个在单独模式中定义的各种标签类型的元素。 当我使用 xjc 从该模式生成 Java 类时,我得到以下输出: public class Document { private String description; private String destination; private TagsList tags; // getter/setter } public class TagsList { private List<Object> any; // getter/setter } 这意味着我必须输入 document.getTags().getAny() 才能访问标签项。有没有办法生成一个直接包含 DocumentClass 字段作为 tags 的 List<Object>,如下所示: public class Document { private String description; private String destination; private List<Object> tags; // getter/setter } 注意:在 choice 中从 sequence 更改为 TagsList 没有区别。 根据您从 XSD 生成 Java 类的方式,您应该尝试添加可用的现有 XEW 插件之一(这是撰写本文时最先进的插件:https://github.com/dmak/jaxb-xew-插件) 我建议您阅读文档以便做您想做的事情。 这是基于 jaxb-tools maven-plugin 的示例配置: <plugin> <groupId>org.jvnet.jaxb</groupId> <artifactId>jaxb-maven-plugin</artifactId> <version>correct version according targeted JAXB api</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>generate</goal> </goals> <configuration> <extension>true</extension> <args> <arg>-Xxew</arg> </args> <plugins> <plugin> <groupId>com.github.jaxb-xew-plugin</groupId> <artifactId>jaxb-xew-plugin</artifactId> <version>correct version according JAXB api</version> </plugin> </plugins> </configuration> </execution> </executions> </plugin>

回答 1 投票 0

在 Java 中使用 JAXB 从 XML 反序列化 HashMap

这是我的 XML 内容: 我自己制作的,所以我可以改变它,只是发现这个结构适合我的数据。 道具 ...

回答 1 投票 0

Jaxb2Marshaller 与 Spring boot 3+ 和 Jaxb 4 兼容吗?

我正在将我的项目从 Spring Boot 2.7 升级到 Spring Boot 3.1。在这个项目中仍然使用 SOAP,因此我们依赖 Jaxb 和 spring WS。 我正在使用 com.helger.maven 生成 Java 类:

回答 1 投票 0

具有特定名称的 JAXB 元素嵌套在另一个未知名称的元素中

我有一个 XmlRootElement(name = "Entity"),其中包含一个已知的 XmlElement(name = "Header") 和另一个名称未知的 XmlElement,但已知它有一个内部 XmlElemen...

回答 2 投票 0

JaxB 封送拆收器覆盖文件内容

我正在尝试使用 JaxB 将我创建的对象编组为 XML。我想要的是创建一个列表,然后将其打印到文件中,然后创建一个新列表并将其打印到同一个文件中,但每次我这样做......

回答 2 投票 0

Java java.lang.ClassCastException:使用 IntelliJ 生成代码时无法强制转换 javax.xml.bind.JAXBElement 异常

我已使用 IntelliJ 工具 > JAXB > 使用 JAXB 从 XML 架构生成 Java 代码从 XSD 创建了 Java 对象... 我基本上是尝试从 XSD 生成 Java 对象,然后读取 XML ...

回答 3 投票 0

使用 jaxws 插件从 WSDL 生成 Java 类,该类将通过 Bindigs 实现公共接口

我有以下类型的 wsdl 文件: .... .... 我有以下类型的 wsdl 文件: <xs:complexType name="someName"> .... </xs:complexType> <xs:complexType name="someOtherName"> .... </xs:complexType> 我想要实现的是让这些类型实现通用接口 public interface Test { //methods that already exist in the types } 为了实现这一点,我创建了绑定文件: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <jaxws:bindings xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:inheritance="http://jaxb2-commons.dev.java.net/basic/inheritance" jaxb:extensionBindingPrefixes="xjc inheritance" xmlns:xs="http://www.w3.org/2001/XMLSchema" wsdlLocation="my_wsdl.wsdl"> <enableWrapperStyle>true</enableWrapperStyle> <enableAsyncMapping>false</enableAsyncMapping> <jaxws:bindings node="//xs:complexType[@name='someName']"> <inheritance:implements>com.mycompany.package.Test</inheritance:implements> </jaxws:bindings> </jaxws:bindings> 还配置了插件: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jaxws-maven-plugin</artifactId> <version>${jaxws-maven-plugin.version}</version> <dependencies> <dependency> <groupId>org.jvnet.jaxb2_commons</groupId> <artifactId>jaxb2-basics</artifactId> <version>0.6.4</version> </dependency> </dependencies> <executions> <execution> <id>wsdl</id> <goals> <goal>wsimport</goal> </goals> <configuration> <xjcArgs> <xjcArg>-Xinheritance</xjcArg> <xjcArg>-Xequals</xjcArg> <xjcArg>-XtoString</xjcArg> </xjcArgs> <genJWS>true</genJWS> <bindingDirectory>${basedir}/src/main/resources/soap</bindingDirectory> <bindingFiles> <bindingFile>binding.xjb</bindingFile> </bindingFiles> <xnocompile>true</xnocompile> <xdebug>true</xdebug> <verbose>true</verbose> <wsdlUrls> <wsdlUrl>${project.basedir}/src/main/resources/soap/my_wsdl.wsdl</wsdlUrl> </wsdlUrls> <sourceDestDir>target/generated-sources/soap</sourceDestDir> </configuration> </execution> </executions> <extensions>true</extensions> </plugin> 旗帜 <xjcArg>-Xequals</xjcArg> <xjcArg>-XtoString</xjcArg> 已考虑在内,我生成的类具有以下签名: public class SomeName implements ToString, Equals{...} 但是,即使考虑到 -Xinheritance 选项(在我添加对 jaxb2-basics 的依赖之前,它抱怨未知选项),也不会对代码生成产生任何影响。 绑定中的 XPath 是正确的,并且考虑了绑定 例如,如果代替 <inheritance:implements>com.mycompany.package.Test</inheritance:implements> 我提供: <jaxb:class name="changedName"/> 类将以更改的名称生成,但它们仍然不会实现我想要的接口。 您知道哪里出了问题吗? 我怀疑问题出在绑定文件上,但我无法确定确切的位置。 您可以尝试关注官方存储库中有关继承插件的wiki页面。 据我所知,主要区别是绑定中使用的 jaxws/jaxb 前缀。 您还可以尝试使用 -X -e 选项在 Maven 构建中添加额外的调试,以在类生成期间查看调试输出。 您可以按照此迁移指南了解如何获取最新版本的 jaxb-tools,该工具现已全部合并到同一位置。 如果仍然不起作用,请回来,我会更深入地研究,如果有必要,我会在 jaxb-tools 的 github 存储库中创建一个问题

回答 1 投票 0

使用 jaxb 从 XSD 生成 getter/setter JavaDoc

我正在使用 jaxb-maven-plugin 从 XSD 文件生成带有 XML 绑定的 Java 代码。虽然它通常工作得很好,但生成的 setter 和 getter 的 JavaDoc 缺少文档......

回答 1 投票 0

jakarta.xml.bind.PropertyException:名称:com.sun.xml.bind.namespacePrefixMapper 值 - com.abc$NamespacePrefixMapperImpl@65c3d713

迁移到 java17.So 将包移至 Jakarta.*。 版本: jakarta.xml.bind-api = 4.0.0 , com.sun.xml.bind/jaxb-impl = 2.0.1 现在面临的问题是: jakarta.xml.bind.PropertyException:名称:com....

回答 1 投票 0

解组响应肥皂请求时出现问题

当我尝试通过soap请求调用另一个服务时遇到问题,第三方服务上的逻辑工作正常,但我无法解析响应 (XmlSubmitResponse)webServiceTemplate。

回答 1 投票 0

升级到 Spring Boot 3/ JDK 17/ Spring 6 - JAXB 冲突问题 IllegalAnnotationsException

我们正在升级到 Spring Boot 3.2.0、JDK 17 和 Spring/Spring Security 6。问题出在应用程序启动时的 JAXB。这是日志上的错误消息: org.springframework.beans.factory.

回答 1 投票 0

如何使用 JAXB 将 null 值表示为空元素?

我的XSD结构如下: 当我设置空值时...

回答 4 投票 0

JAXB + SAX + Open JDK 8 通过客户端异常重置连接

我的代码从网络下载 XML 报告并将原始 XML 分配给字符串变量。然后它创建一个 SAXPaser,如下所示: 尝试 { SAXParserFactory spf = SAXParserFactory.newInstance(); ...

回答 1 投票 0

将 jakarta.xml.bind-api v4.0.0 与 spring-oxm 一起使用

我正在使用 spring-oxm v5.3.23。使用 jakarta.xml.bind-api v2.3.3 一切正常。但是如果我将 jakarta.xml.bind-api 升级到 v4.0.0,则会引发以下异常。 org.springframework.beans.

回答 1 投票 0

使用JAVA 11从orm.xml生成hibernate静态元模型

我尝试将项目从java 8升级到java 11。在构建过程中,我们从orm.xml文件生成hibernate静态元模型。 当使用 jdk11 进行 maven build mvn clean install 时。

回答 1 投票 0

如何让 Jackson ObjectMapper 与包含 Jakarta 注释的 xjc 生成的类一起使用?

这是我的案例, 我已经从一些 XSD 和 WSDL 文件生成了一些源文件。生成的源具有使用 Jakarta 注释进行注释的类和属性。我的

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.