用于XML绑定的Java体系结构是将XML用作域对象的Java标准。它提供了一种将Java类映射到XML表示的简单机制。
升级到 Jakarta EE 时 Jackson-Module-Jaxb-Annotation 出现异常
我正在尝试将我的应用程序从 JEE 8 升级到 Jakarta EE。 当我启动应用程序时,它抛出此异常 Jackson-Module-Jaxb-Annotations-2.17.1 尝试使用旧的...
使用自定义 jaxb 绑定获取 xs:datetime 到 Joda 时间,但获取 XMLGregorianCalender
Java 1.7 Spring 3.1.1 与 Spring-WS 2.1.1 乔达 休眠3.6 MySQL 5.0.57 行家3 雄猫7 日食3.7 已部署 Web 服务、部署 Web 客户端以及 Web 服务和网络...
升级到 Spring Framework 5 时,contextPath 不允许出现在元素 oxm:jaxb2-marshaller 中
背景 从 Spring 框架 4.3.30.RELEASE 升级到 5.0.20.RELEASE 使用 oxm:jaxb2-marshaller 问题 升级Spring框架依赖版本后,应用程序无法启动...
我使用的是 gradle 版本 3.0.0.50,这是我的 dependency.gradle 文件的 jaxb jar: 依赖项{ 编译“javax.xml.bind:jaxb-api:2.2.11” 编译“com.sun.xml.bind:jaxb-imp...
迁移到 jaxb3/java21 后,获取元素“jxb:bindings”的前缀“jxb”未绑定异常
将服务迁移到 java21 和 jaxb3.0 时,从 wsdl 生成 xjb 文件的类会给出 'org.xml.sax.SAXParseException; XXX 元素“jxb:bindi...”的前缀“jxb”
我尝试使用 JAXB 从 spring-beans.xsd 生成 Java 类(仅用于训练目的),但出现此错误: 正在解析架构... [错误] 属性“Ref”已定义。使用<...
我有一个 XML: 我有一个 XML: <?xml version="1.0" encoding="UTF-8"?> <ns2:CreateOrderDmsRequest xmlns:ns2="business.lebanking"> <ns2:Header> <SystemId>LDBO</SystemId> <MessageId>55290db7-ca2d-423b-b618-31a8e457a078</MessageId> <RequestDateTime>2024-05-17T09:36:19.217990Z</RequestDateTime> <MessageType>CreateOrderDmsRequest</MessageType> </ns2:Header> <ns2:Body> <UniqDocIdentifyer>s0Q_Hd6jTUisZVDkNc4SDA</UniqDocIdentifyer> <DateDoc>2024-05-17</DateDoc> <NumDoc>4</NumDoc> <OperationType>PI_CURRENCY_IDENTIFICATION</OperationType> <Status>0</Status> <Client> <ClientLe> <ClientName>СФ "ОРТЕКС"</ClientName> <ClientOkpo>13581333</ClientOkpo> <ClientSegment>P</ClientSegment> <ClientCountry>804</ClientCountry> <AccountNumber>26007241956</AccountNumber> <ClientBmrs>0034</ClientBmrs> </ClientLe> </Client> <Package> <PkgId>s0Q_Hd6jTUisZVDkNc4SDA</PkgId> <DocCount>1</DocCount> <Documents> <TypeDocument>01291</TypeDocument> <IdDocument>HPF3zU8FQ2a7OVe3yrj8og</IdDocument> <NumDoc>8</NumDoc> <DateDoc>2024-05-17</DateDoc> <NameDoc>File.PDF</NameDoc> <CreationDateDoc>2024-05-17 12:34:31</CreationDateDoc> <Eds> <SignDateDoc>2024-05-17 12:36:14</SignDateDoc> <DocumentSignatory>ds</DocumentSignatory> </Eds> </Documents> </Package> </ns2:Body> </ns2:CreateOrderDmsRequest> 我使用命名空间为其创建一个模型: @XmlRootElement(name = "CreateOrderDmsRequest", namespace = "business.lebanking") @XmlAccessorType(XmlAccessType.FIELD) public class CREATEORDERREQUESTType { @XmlElement(name = "Header", required = true, namespace = "business.lebanking") protected HEADERType header; @XmlElement(name = "Body", required = true, namespace = "business.lebanking") protected BODYType body; ... 然后我在独立项目中编写测试代码: JAXBContext context = JAXBContext.newInstance(model.CREATEORDERREQUESTType.class); model.CREATEORDERREQUESTType obj = (model.CREATEORDERREQUESTType) context.createUnmarshaller() .unmarshal(new FileReader("test.xml")); System.out.println(obj); 我使用了 java 17 和我的工作项目中的库(jakarta*.jar、jaxb*.jar ...)。 代码工作正常。所有字段均填写相应的值。 但是,当我尝试在我的工作项目中运行相同的代码(java 17,wildfly-27.0.1.Final)时 - 没有例外,但所有字段都为空。 我不知道在哪里寻找差异。我们可以帮助我吗? 我尝试调试代码并比较使用的类。不幸的是,我还没有发现任何差异 问题自己解决了。我不知道那是什么。更新并重建项目后,所有字段均已填充!
如何使用 jaxb2-maven-plugin 预定义 XSD 文件名
我使用下面的代码从带注释的 java 类生成 XSD。 XSD 的默认名称始终为“schema1.xsd”。我应该如何仅使用该插件来预定义它?目前我使用maven-antrun-
哪里可以找到 Jakarta EE 9 或 10 兼容的 JAXB 参考实现 JAR 文件?
所以我有一个小型 JAR 应用程序(不在 Web 容器中运行),它使用在 jdk8 上运行的 JAXB 的一些 javax.* 类。 是时候升级到 jdk17 了,它不随 JAXB 一起提供。 所以我
我的xsd,如附加文件中所示,报告关系ROOT 1-->1标头,但是当我使用hyperjaxb3构建项目时,它创建了一个错误的@ManyToOne注释而不是@OneToOne,因为xsd有一个默认值
我的xsd,如附件中所示,报告关系ROOT 1-->1标头,但是当我使用hyperjaxb3构建项目时,它创建了一个错误的@ManyToOne注释而不是@OneToOne,因为xsd有一个默认值
我已将 xml 内容映射到 java bean。我正在使用 JAXB 将其转换为我的 bean 类。 这很好用。但为此我需要事先知道xml的内容。如果添加一些新元素...
org.springframework.oxm.UncategorizedMappingException:使用 Spring WebserviceTemplate 的未知 JAXB 异常
有一个基于Java的应用程序使用不同的maven项目连接到不同的web服务,应用程序已经有一个现有的maven项目(比如project1),它使用webServiceTemplate来校准...
Apache Camel + Spring boot 异常数据格式“jaxb”无法创建
我是 Apache Camel 的新手。我的要求很简单 程序应该读取 XML 遮盖我想要的字段 生成屏蔽的 XML 我有现有的应用程序做同样的事情,但它不起作用。装箱...
我尝试从 wsdl 文件生成源代码,但我在 pom.xml 上不断遇到错误,我认为这可能是我的问题?以下是我从 pom 和 pom 文件中得到的错误。我也...
org.glassfish.jaxb.runtime.v2.runtime.IllegalAnnotationsException:1 个 IllegalAnnotationException 计数。如果是 @XmlElement 类的属性,则不能使用属性 @
使用 EclipseLink MOXy 生成 XSD 时出现意外的字母顺序
长期运行的项目在从 org.eclipse.persistence:org.eclipse.persistence.moxy:2.7.12 升级到 org.eclipse.persistence:org.eclipse.persistence.moxy:2.7.13 时显示出意外的行为...
Apache CXF XSD 方案改为 Java,更改输出类和工厂名称
我正在使用 CXF maven 插件根据 XSD 方案定义生成 Java 类。我使用两个 xsdOptions 标签将两种不同方案的 Java 文件创建到两个不同的包中。生成的...
如何利用 Java 11 中的 cxf-xjc-plugin 生成的类?
使用 Apache cxf-xjc-plugin 和 Java 11 工作正常,我能够从 xsd 文件生成 Java 源。当尝试将这些 Java 类与 JAXB 一起使用时,问题就出现了:可用...
cxf-xjc-plugin:如何为复杂类型添加@XMLRoot注解?
我有一个 XSD 架构,并且有一个“任何”元素 我有一个 XSD 架构,并且有一个“任何”元素 <xs:any minOccurs="0" maxOccurs="unbounded" namespace="http://the-namespace.org" processContents="lax"/> 这意味着我可以在这里添加“http://the-namespace.org”中定义的任何元素 这正是我想做的: return MyObject.builder() // ... .withAny(AnyObjectFromNamespace.builder().build()) .build(); 当我现在运行 xsdtojava 时,我收到错误: Caused by: com.sun.istack.SAXException2: Marshalling von Typ "AnyObjectFromNamespace" as element is not possible, because a @XmlRootElement-Annotation is missing 所以我现在的问题是如何添加 XmlRootElement 注释而不更改我的 xsd 架构?` 这是我的pom.xml: <dependencies> <dependency> <groupId>org.jvnet.jaxb2_commons</groupId> <artifactId>jaxb2-basics</artifactId> <version>1.11.1</version> </dependency> <dependency> <groupId>org.jvnet.jaxb2_commons</groupId> <artifactId>jaxb2-basics-runtime</artifactId> <version>1.11.1</version> </dependency> <!-- needed for builder plugin --> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.3.3</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-core</artifactId> <version>2.3.0.1</version> </dependency> <!-- java time instead of xml gregorian calendar --> <dependency> <groupId>com.migesok</groupId> <artifactId>jaxb-java-time-adapters</artifactId> <version>1.1.3</version> </dependency> </dependencies> <build> <defaultGoal>install</defaultGoal> <plugins> <plugin> <groupId>org.apache.cxf</groupId> <artifactId>cxf-xjc-plugin</artifactId> <version>3.3.0</version> <configuration> <extensions> <!-- Default Values --> <extension>org.apache.cxf.xjcplugins:cxf-xjc-dv:3.3.0</extension> <!-- Equals, HashCode, ToString, etc. --> <extension>org.jvnet.jaxb2_commons:jaxb2-basics:1.11.1</extension> <!-- Builder, Immutable, etc. --> <extension>net.codesup.util:jaxb2-rich-contract-plugin:2.0.1</extension> </extensions> </configuration> <executions> <execution> <id>generate-sources</id> <phase>generate-sources</phase> <goals> <goal>xsdtojava</goal> </goals> <configuration> <sourceRoot>${project.build.directory}/generated-sources</sourceRoot> <xsdOptions> <xsdOption> <extension>true</extension> <xsd>${basedir}/src/main/resources/xsd/schema.xsd</xsd> <bindingFile>${basedir}/src/main/resources/xjb/binding.xjb</bindingFile> <extensionArgs> <!-- Enable Default Values Generation --> <extensionArg>-Xdv</extensionArg> <!-- Enable Equals Generation --> <extensionArg>-Xequals</extensionArg> <!-- Enable Hashcode Generation --> <extensionArg>-XhashCode</extensionArg> <!-- Enable ToString Generation --> <extensionArg>-XtoString</extensionArg> <!-- Enable Builder Generation --> <extensionArg>-Xfluent-builder</extensionArg> </extensionArgs> </xsdOption> </xsdOptions> </configuration> </execution> </executions> </plugin> </plugins> </build> XMLSchema 内容模型不允许 anyType 作为顶级 node。因此,anyType不能属于根元素,并且@XmlRootElement不会是神话野兽的有效Java注释。 Content Model : {http://www.w3.org/2001/XMLSchema}Schema ( (include | import | redefine | annotation)*, ( ( ( ( (simpleType | complexType | group | attributeGroup) ) | element | attribute | notation ) ), annotation* )* ) 实验 此 下载 (zip) 包含一个独立的 Maven 项目,该项目使用 cxf-xjc-plugin 为简单的 po.xsd 生成 Java (JAXB) 类。您可以用它来进行实验anyType。