[英]Jaxb cxf-xjc pluggin generated with namespace
我正在使用 cfx-xjc-pluging 创建一些类。 在代码中我可以创建对象,编组和解组没问题。
现在虽然我开始调用 soap 端点并且遇到了问题。 从服务提供商返回的 object 没有命名空间,而编组和解组似乎期望它。
构建是这样的:
<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;
Which does not include elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED
I think this is what is needed to stop the use of namespaces but this is my first dive into xml in java and could be off base.
有没有办法在调用服务时阻止 Jaxb/cfx-xjc-pluging 期望命名空间或将其添加到 xml 中?
好吧,这不是一个解决方案,而是一个 hack。 在提供的架构中,我能够将elementFormDefault="unqualified"
更改为elementFormDefault="qualified"
并且这些类现在在编组时不需要命名空间。 我不禁认为必须有更好的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.