繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM