[ https://issues.apache.org/jira/browse/ODE-947?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Denis Weerasiri updated ODE-947: -------------------------------- Attachment: ODE-947-v1.patch Attached the patch (ODE-947-v1.patch) as the fix. > NPE thrown when an unavailable XSD is imported in BPEL > ------------------------------------------------------ > > Key: ODE-947 > URL: https://issues.apache.org/jira/browse/ODE-947 > Project: ODE > Issue Type: Improvement > Components: BPEL Compilation/Parsing > Affects Versions: 1.3.5 > Environment: ode-axis2-war-1.3.5 distro in tomcat-6.0.32 > Reporter: Denis Weerasiri > Attachments: ODE-947-v1.patch > > > How to reproduce the issue. > 1. Use the following construct ina BPEL in order to import the mentioned XSD > <bpel:import namespace="http://apache.org/2011/10/ode" > location="SubscriptionService2.xsd" > importType="http://www.w3.org/2001/XMLSchema"></bpel:import> > 2. Note that the SubscriptionService2.xsd is not available in the process > artifact. > Exception thrown is > ERROR [DeploymentPoller] Deployment of Q2CProcess failed, aborting for now. > java.lang.NullPointerException > at > org.apache.ode.bpel.compiler.BpelCompiler.addXsdImport(BpelCompiler.java:226) > at > org.apache.ode.bpel.compiler.BpelCompiler.compile(BpelCompiler.java:881) > at > org.apache.ode.bpel.compiler.BpelCompiler.compile(BpelCompiler.java:706) > 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:204) > at org.apache.ode.utils.InternPool.runBlock(InternPool.java:57) > at > org.apache.ode.store.DeploymentUnitDir.compile(DeploymentUnitDir.java:201) > at > org.apache.ode.store.DeploymentUnitDir.compile(DeploymentUnitDir.java:162) > at > org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:204) > at > org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:172) > at > org.apache.ode.axis2.deploy.DeploymentPoller.check(DeploymentPoller.java:160) > at > org.apache.ode.axis2.deploy.DeploymentPoller.access$300(DeploymentPoller.java:60) > at > org.apache.ode.axis2.deploy.DeploymentPoller$PollingThread.run(DeploymentPoller.java:251) > Here I've attached a patch to generate a more context sensitive compilation > error. > After adding the patch, the error log would be as follows. > org.apache.ode.bpel.compiler.api.CompilationException: error: > [CompilationErrors] Compilation completed with 3 error(s): > > file:/opt/installations/apache/tomcat/apache-tomcat-6.0.32/webapps/ode-axis2-war-1.3.5/WEB-INF/processes/Q2CProcess/Q2CProcess.bpel:26: > error: [XsdImportNotFound] The XSD > "file:/opt/installations/apache/tomcat/apache-tomcat-6.0.32/webapps/ode-axis2-war-1.3.5/WEB-INF/processes/Q2CProcess/SubscriptionService2.xsd" > not found. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira