我已经使用maven插件从wsdl创建了Java类,下面提到pom.xml中的相关条目
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>${maven-jaxb2-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<generatePackage>om.sd</generatePackage>
<generateDirectory>${project.basedir}/src/main/java</generateDirectory>
<schemaDirectory>${project.basedir}/src/main/resources/wsdl</schemaDirectory>
<args>
<arg>-no-header</arg>
</args>
<schemaIncludes>
<include>*.wsdl</include>
</schemaIncludes>
</configuration>
</plugin>
已生成Java类。
将请求类元素创建为JAXB元素,而不是String,我需要将其手动转换为String。
有什么方法可以配置,以便将元素创建为String而不是JAXB元素。
答案 0 :(得分:1)
从链接的问题中获取给定的摘要...
<jaxb:bindings ... xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
<jaxb:globalBindings generateElementProperty="false">
<xjc:simple />
<!-- ... -->
</jaxb:globalBindings>
</jaxb:bindings>
...,并生成包含自定义包装程序的自定义*.xjb
文件。将文件放在架构目录中-插件应默认找到它。
如果要将文件放入您选择的目录中,只需在POM中插件的配置部分中引用它即可。
<bindingDirectory>src/main/resources</bindingDirectory>
<bindingIncludes>
<include>**/*.xjb</include>
</bindingIncludes>
<bindingExcludes>
<exclude>**/*.xj</exclude>
</bindingExcludes>
需要更多信息吗?
[1] https://github.com/highsource/maven-jaxb2-plugin/wiki/Specifying-What-To-Compile
[2] http://websystique.com/java/jaxb/jaxb-codegeneration-maven-example/