单个文件中的目标名称空间的多个

单个文件中的目标名称空间的多个<schemaBindings>

问题描述:

我正在使用maven-jaxb2-plugin从wsdl中生成java文件。运行后“产生来源”的目标,我得到以下错误单个文件中的目标名称空间的多个<schemaBindings>

[ERROR] Error while parsing schema(s).Location[ 
file:/home/*/src/main/resources/soap/binding.xjb{8,30} ]. 
com.sun.istack.SAXParseException2; systemId: file:/home/*/src/main/resources/soap/binding.xjb; lineNumber: 8; columnNumber: 30; 
Multiple <schemaBindings> are defined for the target namespace "http://schemas.***" 

有几个WSDL文件,并为他们每个人我需要不同的目标包,所以我尝试使用绑定文件,但只有1现在WSDL 。

这里是我的插件configuraiton

<configuration> 
    <schemaLanguage>WSDL</schemaLanguage> 
    <schemaDirectory> 
     ${basedir}/src/main/resources/soap 
    </schemaDirectory> 
    <schemaIncludes> 
     <include>manager/*.wsdl</include> 
    </schemaIncludes> 
    <bindingDirectory> 
     ${basedir}/src/main/resources/soap 
    </bindingDirectory> 
</configuration> 

下面是binding.xjb文件

开头的 service.wsdl
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<jaxb:bindings 
     version="2.1" 
     xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
     xmlns:xs="http://www.w3.org/2001/XMLSchema"> 

    <jaxb:bindings schemaLocation="manager/service.wsdl" multiple="true" node="//xs:schema"> 
     <jaxb:schemaBindings> 
      <jaxb:package name="com.test.manager"/> 
     </jaxb:schemaBindings> 
    </jaxb:bindings> 
</jaxb:bindings> 

文件

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
        xmlns:sch0="http://schemas.***" 
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
        xmlns:tns="http://schemas.***" 
        targetNamespace="http://schemas.***"> 
    <wsdl:types> 
     <xs:schema xmlns="http://schemas.***" 
        xmlns:xs="http://www.w3.org/2001/XMLSchema" 
        attributeFormDefault="unqualified" 
        elementFormDefault="qualified" 
        targetNamespace="http://schemas.***"> 
      <xs:simpleType name="NumericReference"> 
       *** 
      </xs:simpleType> 
      <xs:simpleType name="EntityNumber"> 
       *** 
      </xs:simpleType> 
     </xs:schema> 
     <xs:schema xmlns="http://schemas.***" 
        xmlns:xs="http://www.w3.org/2001/XMLSchema" 
        attributeFormDefault="unqualified" 
        elementFormDefault="qualified" 
        targetNamespace="http://schemas.***"> 
      <xs:complexType name="DisplayGroup"> 

貌似问题与具有相同targetNamespace的多个xs:schema元素相连,但是我无法找到如何在不修改wsdl的情况下修复它。

JAXB通常会将一个目标名称空间映射到一个包上,因此您无法为相同的目标名称空间指定不同的schemaBindings