0

I have created 2 xsd's with different name spaces and trying to import Customer.XSD into Main.XSD as shown below:

Main.XSD:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://COM.SERVICES.com"
targetNamespace="http://COM.SERVICES.com" xmlns:s2="WebServices.Cutomer" elementFormDefault="qualified">

 <xs:import namespace="WebServices.Cutomer" schemaLocation="Customer.xsd" />

    <xs:element name="CustRequest">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="id" type="xs:string"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <xs:element name="CustReSponse">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Customer" type="s2:Customer"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

</xs:schema>

Customer.XSD

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="WebServices.Cutomer"
targetNamespace="WebServices.Cutomer" xmlns:s2="WebServices.Cutomer" elementFormDefault="qualified">

   <xs:complexType name="Customer">
        <xs:sequence>
            <xs:element name="name" type="xs:string"/>
            <xs:element name="id" type="xs:string"/>
            <xs:element name="age" type="xs:int"/>
            <xs:element name="country" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>

</xs:schema>

the below is not working:

<xs:import namespace="WebServices.Cutomer" schemaLocation="Customer.xsd" />

Due to that above import tag getting error in Pom.xml as below:

(org.codehaus.mojo:jaxb2-maven-plugin:2.3.1:xjc:xjc:generate-sources)

org.apache.maven.plugin.MojoExecutionException: 
    at org.codehaus.mojo.jaxb2.javageneration.AbstractJavaGeneratorMojo.performExecution(AbstractJavaGeneratorMojo.java:481)
    at org.codehaus.mojo.jaxb2.AbstractJaxbMojo.execute(AbstractJaxbMojo.java:257)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
    at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:331)
    at org.eclipse.m2e.core.internal.embedder.MavenImpl$11.call(MavenImpl.java:1362)
    at org.eclipse.m2e.core.internal.embedder.MavenImpl$11.call(MavenImpl.java:1)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)
    at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1360)
    at org.eclipse.m2e.core.project.configurator.MojoExecutionBuildParticipant.build(MojoExecutionBuildParticipant.java:52)
    at org.eclipse.m2e.core.internal.builder.MavenBuilderImpl.build(MavenBuilderImpl.java:137)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:172)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:1)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod$1$1.call(MavenBuilder.java:115)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod$1.call(MavenBuilder.java:105)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:177)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:86)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:200)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:735)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:301)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:304)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:360)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:383)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:142)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:232)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
Caused by: org.codehaus.mojo.jaxb2.NoSchemasException
    at org.codehaus.mojo.jaxb2.javageneration.AbstractJavaGeneratorMojo.getXjcArguments(AbstractJavaGeneratorMojo.java:593)
    at org.codehaus.mojo.jaxb2.javageneration.AbstractJavaGeneratorMojo.performExecution(AbstractJavaGeneratorMojo.java:387)
    ... 33 more

POM.XML:

 <plugin>
   <groupId>org.codehaus.mojo</groupId>
    <artifactId>jaxb2-maven-plugin</artifactId>
    <version>2.3.1</version>
    <executions>
     <execution>
       <id>xjc</id>
       <goals>
         <goal>xjc</goal>
       </goals>
     </execution>
   </executions>
   <configuration>
        <schemaDirectory>${project.basedir}/src/main/resources</schemaDirectory>
        <outputDirectory>${project.basedir}/src/main/java</outputDirectory>
    </configuration>
</plugin>

As i am not getting what is the issue in above xsd's. Please check and suggest on this.

Rajeswari Reddy
  • 193
  • 1
  • 6
  • 24

1 Answers1

0

The namespace given in the xs:import declaration (namespace="WebServices.Cutomer") must match the target namespace of the schema document you are importing (targetNamespace="http://WebServices.Com")

Michael Kay
  • 156,231
  • 11
  • 92
  • 164
  • targetNamespace is modified even it is not working. I have updated the code.Please check and help on this.Thanks – Rajeswari Reddy Apr 11 '18 at 04:14
  • Apart from the missing quotation marks in ` – Michael Kay Apr 11 '18 at 16:47
  • sorry that is my mistake, typo error. Now i have updated even it is not working.After generating wsdl namespace coming like this " " . But "schemaLocation" also not showing. Please suggest on this. Thanks – Rajeswari Reddy Apr 12 '18 at 05:42
  • You have twice posted code with errors that you now say are not the real error. This means that the effort I have put into helping you is a total waste of my time, and I shall not be helping you any further. If you are as careless as this with your questions, I suspect your actual code is rather careless too. – Michael Kay Apr 12 '18 at 08:16