Uploaded image for project: 'ODE'
  1. ODE
  2. ODE-1031

Deployment error - captureSchema: NULL model (unknown error)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.3.6
    • 1.3.7, 1.4
    • None

    Description

      Prerequirements: before reproduce and workaround the issue need to apply the fix for problem with using several internal schemas. It is commited in the trunk:
      https://github.com/apache/ode/commit/ccdba9fab2eb9821ab96f05a96dab65c27d3cb14

      There is problem with schema capturing for wsdl that contains internal schemas and one imports another:

      	<wsdl:types>
      		<xsd:schema targetNamespace="http://ode/bpel/unit-test.wsdl">
      			<xsd:import namespace="http://ode/bpel/import/types" />
      			<xsd:simpleType name="dummy">
      				<xsd:restriction base="d:dummyType" />
      			</xsd:simpleType>
      		</xsd:schema>
      		<xsd:schema targetNamespace="http://ode/bpel/import/types">
      			<xsd:simpleType name="dummyType">
      				<xsd:restriction base="xsd:string" />
      			</xsd:simpleType>
      		</xsd:schema>
      	</wsdl:types>
      

      To workaround this problem it is enough to change schemas order(put "http://ode/bpel/import/types" on the top).
      Bug is related to resolving entity in org.apache.ode.bpel.compiler.WsdlFinderXMLEntityResolver.resolveEntity(XMLResourceIdentifier).
      This method searches imported schemas in the _internalSchemas map:
      _internalSchemas.get(new URI(resourceIdentifier.getNamespace()))
      This map is populated in org.apache.ode.bpel.compiler.WSDLRegistry.captureSchemas(Definition, ResourceFinder, URI). But since second(imported) schema is not put to map so "resolveEntity" returns null.
      To fix the problem we need to populate _internalSchemas map before schema capturing.
      Attached:

      • HelloWorld2.zip that can be used to reproduce the issue;
      • ODE.log where error can be found if DEBUG level is enabled for "org.apache.ode.utils.xsd" package;
      • my fix "WSDLRegistry.zip\WSDLRegistry(my fix).java".

      Attachments

        1. HelloWorld2.zip
          3 kB
          Igor Vorobiov
        2. ODE.log
          11 kB
          Igor Vorobiov
        3. WSDLRegistry.zip
          12 kB
          Igor Vorobiov

        Issue Links

          Activity

            People

              vanto Tammo van Lessen
              ivorobiov Igor Vorobiov
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: