gpt4 book ai didi

java - 使用命名空间生成的 Jaxb cxf-xjc 插件

转载 作者:行者123 更新时间:2023-12-01 23:21:33 26 4
gpt4 key购买 nike

我正在使用 cfx-xjc-pluging 创建一些类。在代码中我可以创建对象,编码和解码没有问题。

现在,虽然我开始调用肥皂端点,但遇到了问题。从服务提供者返回的对象没有 namespace ,而编码和解码似乎需要它。

构建如下:

<build>
<plugins>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-xjc-plugin</artifactId>
<version>${cxf.xjc.plugin.version}</version>
<executions>
<execution>
<id>xjc</id>
<phase>generate-sources</phase>
<goals>
<goal>xsdtojava</goal>
</goals>
<configuration>
<xsdOptions>
<xsdOption>
<xsdDir>${basedir}\src\main\resources\xsd\TotalView-06-2019</xsdDir>
<bindingFile>${basedir}\src\main\resources\bindings\work.xjb</bindingFile>
<packagename>${jax.package.name}</packagename>
</xsdOption>
</xsdOptions>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

我看到生成的package-info.java

@javax.xml.bind.annotation.XmlSchema(namespace ="http://xml.place.com/XMLSchema")
package com.code.place.generated;

其中不包括 elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED 我认为这是停止使用命名空间所需要的,但这是我第一次深入了解 java 中的 xml并且可能偏离基地。

有没有办法阻止 Jaxb/cfx-xjc-pluging 期望命名空间或在调用服务时将其添加到 xml 中?

最佳答案

好吧,这与其说是一个解决方案,不如说它是一个黑客。在提供的架构中,我能够将 elementFormDefault="unqualified" 更改为 elementFormDefault="qualified" 并且这些类现在编码时不需要命名空间。我忍不住认为必须有更好的方法。

关于java - 使用命名空间生成的 Jaxb cxf-xjc 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58326470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com