[ https://issues.apache.org/jira/browse/ODE-1031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14579394#comment-14579394 ]
Hudson commented on ODE-1031: ----------------------------- FAILURE: Integrated in ODE-trunk-jdk6 #848 (See [https://builds.apache.org/job/ODE-trunk-jdk6/848/]) fixing ODE-1031, thanks to Igor Vorobiov for the patch. (vanto: rev 0c9e3a77bd216e6a6a98a00d0e2a72d5e515b920) * bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/WSDLRegistry.java > Deployment error - captureSchema: NULL model (unknown error) > ------------------------------------------------------------ > > Key: ODE-1031 > URL: https://issues.apache.org/jira/browse/ODE-1031 > Project: ODE > Issue Type: Bug > Components: BPEL Compilation/Parsing > Affects Versions: 1.3.6 > Reporter: Igor Vorobiov > Assignee: Tammo van Lessen > Priority: Minor > Fix For: 1.3.7, 1.4 > > Attachments: HelloWorld2.zip, ODE.log, WSDLRegistry.zip > > > 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: > {code:xml} > <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> > {code} > 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". -- This message was sent by Atlassian JIRA (v6.3.4#6332)