WSDL2Java with XMLBeans binding codegen fails with "Duplicate global type" when 
schema is imported from WSDL file and another schema file.
------------------------------------------------------------------------------------------------------------------------------------------

                 Key: AXIS2-1885
                 URL: http://issues.apache.org/jira/browse/AXIS2-1885
             Project: Apache Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: codegen
    Affects Versions: 1.1, nightly
         Environment: Windows XP, JDK 1.4.  Tested on nightly snapshot of 
December 18, 2006.
            Reporter: Michael Krumpus
            Priority: Critical


WSDL2Java fails with the following error when a schema is imported from a WSDL 
file and also imported from another schema:

...
Caused by: org.apache.xmlbeans.XmlException: 
project://local/../../../entity/message/message.xsd:6:1: error: 
sch-props-correct.2: Duplicate global type: [EMAIL 
PROTECTED]://service.foobar.com/entity/message/ (Original global type found in 
file: ../../../entity/message/message.xsd)
        at 
org.apache.xmlbeans.impl.schema.SchemaTypeSystemCompiler.compile(SchemaTypeSystemCompiler.java:225)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at org.apache.xmlbeans.XmlBeans.compileXmlBeans(XmlBeans.java:667)
        at 
org.apache.axis2.xmlbeans.CodeGenerationUtility.processSchemas(CodeGenerationUtility.java:160)


The problem here seems to be that when message.xsd is imported in the WSDL file 
*and* imported in another schema that is also imported in the WSDL file, the 
code generation process does not realize that they are the same schema, thus 
leading it to believe that the type MessageContext_Type is a duplicate global 
type when it is not.  I will attach an example that demonstrates the problem 
clearly.

This problem does NOT occur when XMLBeans 'scomp' is used as a standalone tool.

Of particular interest is the behavior of the method baseURLForDoc() in 
org.apache.xmlbeans.impl.schema.StscImporter.  When running scomp as a 
standalone utility, fully qualified absolute paths are passed into this method, 
but when using WSDL2Java, relative paths are passed in.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to