我使用maven-jaxb2-plugin
从wsdl
文件生成类。我的wsdl
fila有多个架构条目,但我只需要一个。那么是否可以指定我想要生成哪个舍德。也许在pom.xml或xjb绑定文件?我的pop.xml
maven-jaxb2-plugin
配置:
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.8.0</version>
<executions>
<execution>
<id>some_id</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<schemaLanguage>WSDL</schemaLanguage>
<schemaDirectory>${basedir}/src/main/resources/wsdl/</schemaDirectory>
<schemaIncludes>
<include>*.wsdl</include>
</schemaIncludes>
<bindingIncludes>
<include>binding.xjb</include> // is
</bindingIncludes>
<generatePackage>my.custom.package</generatePackage> -->
<generateDirectory>target/generated-sources/jaxb</generateDirectory>
</configuration>
</execution>
我的wsdl
文件看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" ... other namespaces>
<types>
<xs:schema targetNamespace="http://www.custom.se/webservices/" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Elem">
<xs:complexType>
<xs:sequence>
<xs:element name="SeqNo" type="xs:string"/>
<xs:element name="Method" type="xs:string"/>
<xs:element name="Id" type="xs:string"/>
<xs:element name="UserId" type="xs:string"/>
<xs:element name="ResultCode" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<xs:schema targetNamespace="http://www.custom.se/webservices/publishing/">
....
</xs:shema>
<xs:schema targetNamespace="http://www.custom.se/webservices/smth/">
....
</xs:shema>
....
我感谢任何帮助。
答案 0 :(得分:0)
你最终想要达到什么目的?由于您使用的是jaxb插件而不是jaxws插件,我假设您对从WSDL构造生成的Java代码不感兴趣。那么目标是最小化生成的jar中生成的类的数量?
嗯,在这种情况下,最简单的解决方案是生成所有,然后有选择地编译(或打包)。