ODE
  1. ODE
  2. ODE-598

CompilationException for certain WSDLs

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.3.4
    • Labels:
      None
    • Environment:
      32-bit Windows XP. Java 6. Ode 1.3.2.

      Description

      I've noticed that Ode 1.X will throw a CompilationException for BPEL processes that import certain types of WSDLs. These same processes/WSDLs work fine in Ode 1.2.

      I think it has something to do with local schema imports (e.g. an import statement that does not have a schemaLocation attribute). See the attached .bpel process. The process will deploy in Ode 1.2, but in Ode 1.3.2 the imports/Test.wsdl file causes a CompilationException:

      org.apache.ode.bpel.compiler.api.CompilationException: error: [CompilationErrors] Compilation completed with 2 error(s):
      file:/C:/Documents%20and%20Settings/Administrator/Desktop/apache-tomcat-6.0.18/webapps/ode/WEB-INF/processes/test/imports/Test.wsdl:0: error: [SchemaError] Error in schema processing: sch-props-correct.2: A schema cannot contain two global components with the same name; this schema contains two occurrences of 'mytestnamespace,request'.
      file:/C:/Documents%20and%20Settings/Administrator/Desktop/apache-tomcat-6.0.18/webapps/ode/WEB-INF/processes/test/imports/Test.wsdl:0: error: [SchemaError] Error in schema processing: sch-props-correct.2: A schema cannot contain two global components with the same name; this schema contains two occurrences of 'myothertestnamespace,SomeType'.
      at org.apache.ode.bpel.compiler.BpelCompiler.compile(BpelCompiler.java:752)
      at org.apache.ode.bpel.compiler.BpelC.compile(BpelC.java:263)
      at org.apache.ode.bpel.compiler.BpelC.compile(BpelC.java:333)
      at org.apache.ode.store.DeploymentUnitDir$5.run(DeploymentUnitDir.java:176)
      at org.apache.ode.utils.InternPool.runBlock(InternPool.java:57)
      at org.apache.ode.store.DeploymentUnitDir.compile(DeploymentUnitDir.java:173)
      at org.apache.ode.store.DeploymentUnitDir.compile(DeploymentUnitDir.java:137)
      at org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:176)
      ... 3 more

      1. test.zip
        4 kB
        Jon Coogan

        Activity

        Jon Coogan created issue -
        Hide
        Jon Coogan added a comment -

        BPEL Process for reproducing the problem. It imports a WSDL that causes Ode 1.3.2 to throw a CompilationException.

        Show
        Jon Coogan added a comment - BPEL Process for reproducing the problem. It imports a WSDL that causes Ode 1.3.2 to throw a CompilationException.
        Jon Coogan made changes -
        Field Original Value New Value
        Attachment test.zip [ 12407041 ]
        Hide
        Karthick Sankarachary added a comment -

        It looks like you have two schemas in your WSDL that import each other. Unfortunately, the XML parser that we rely on, viz. Xerces, interprets this scenario as a violation of the "sch-props-correct" condition, which is described here: http://www.w3.org/TR/xmlschema-1/#sch-props-correct. For more details on this Xerces limitation, please refer to http://xerces.apache.org/xerces-j/schema.html.

        Needless to say, you can workaround this problem by avoiding circular imports/includes in your schemas.

        Show
        Karthick Sankarachary added a comment - It looks like you have two schemas in your WSDL that import each other. Unfortunately, the XML parser that we rely on, viz. Xerces, interprets this scenario as a violation of the "sch-props-correct" condition, which is described here: http://www.w3.org/TR/xmlschema-1/#sch-props-correct . For more details on this Xerces limitation, please refer to http://xerces.apache.org/xerces-j/schema.html . Needless to say, you can workaround this problem by avoiding circular imports/includes in your schemas.
        Tammo van Lessen made changes -
        Fix Version/s 1.3.5 [ 12314243 ]
        Rafal Rusin made changes -
        Assignee Rafal Rusin [ rrusin ]
        Hide
        Rafal Rusin added a comment -

        I tried it on 1.3.4 and it worked. Please reopen if you spot some problems on 1.3.4.

        Show
        Rafal Rusin added a comment - I tried it on 1.3.4 and it worked. Please reopen if you spot some problems on 1.3.4.
        Rafal Rusin made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 1.3.4 [ 12314168 ]
        Fix Version/s 1.3.5 [ 12314243 ]
        Resolution Fixed [ 1 ]

          People

          • Assignee:
            Rafal Rusin
            Reporter:
            Jon Coogan
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development