I am attempting to assign different name spaces to different xsd files and use jaxb2-maven plugin to build the artifacts defined by these xsd files.
Maven fails to generate the source with the following error: The namespace of element 'bindings' must be from the schema namespace, 'http://www.w3.org/2001/XMLSchema'
Here is my configuration:
<jaxb:bindings
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb
http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd"
version="2.1">
<jaxb:bindings schemaLocation="xsd/TheRequest.xsd" node="/xsd:schema">
<jaxb:schemaBindings>
<jaxb:package name="com.package.request" />
</jaxb:schemaBindings>
</jaxb:bindings>
<jaxb:bindings schemaLocation="xsd/TheResponse.xsd" node="/xsd:schema">
<jaxb:schemaBindings>
<jaxb:package name="com.package.response" />
</jaxb:schemaBindings>
</jaxb:bindings>
</jaxb:bindings>
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://company.services.com"
xmlns:tns="http://company.services.com"
elementFormDefault="unqualified">
<xsd:complexType name="FindSomething">
<xsd:sequence>
<xsd:element name="TestMode" type="xsd:string" maxOccurs="1" minOccurs="0"/>
<xsd:element name="Channel" type="xsd:string" maxOccurs="1" minOccurs="1"/>
<xsd:element name="UserId" type="xsd:string" maxOccurs="1" minOccurs="1"/>
<xsd:element name="Role" type="xsd:string" maxOccurs="1" minOccurs="0"/>
<xsd:element name="Format" type="xsd:string" maxOccurs="1" minOccurs="0"/>
<xsd:element name="OrgId" type="xsd:string" maxOccurs="1" minOccurs="1"/>
<xsd:element name="TransactionId" type="xsd:string" maxOccurs="1" minOccurs="1"/>
<xsd:element name="Timeout" type="xsd:long" maxOccurs="1" minOccurs="0"/>
<xsd:element name="RequestSegments" type="tns:RequestSegments" maxOccurs="1" minOccurs="0"/>
<xsd:element name="VerifyUserType" type="xsd:string" maxOccurs="1" minOccurs="0"/>
<xsd:element name="VerifyUserAccess" type="xsd:string" maxOccurs="1" minOccurs="0"/>
<xsd:element name="IncludeFamily" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="AsOfDate" type="xsd:string" maxOccurs="1" minOccurs="0"/>
<xsd:element name="ActiveOnly" type="xsd:string" maxOccurs="1" minOccurs="0"/>
<xsd:element name="SearchType" type="xsd:string" maxOccurs="1" minOccurs="0"/>
<xsd:element name="SearchCriteria" type="tns:SearchCriteria" maxOccurs="1" minOccurs="0"/>
<xsd:element name="AccessPrivileges" type="tns:AccessPrivileges" maxOccurs="1" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType></xsd:schema>
I have tried with different forms of XML namespace directives. In Eclipse code completion, I can see the bindings XML schema as an option so I don't know why maven is returning this error.