[
https://issues.apache.org/jira/browse/ODE-648?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Carver updated ODE-648:
-----------------------------
Attachment: ode-641v1.txt
This implements schema validation against the BPELs before they go into the
final compilation step. It first parses them, then uses the created DOM to
validate against the grammar pool. This looks like what was originally
intended by use of the EntityResolver mechanism but this was not working
correctly. EntityResolvers only come into play if there is a DOCTYPE or
schemaLocation included in the XML file. So no validation was occurring.
With this change, a hand full of the GoodTestCompile BPEL files do not pass
validation and are not valid according to any of the provided schemas from the
bpel-schemas project.
The patch also corrects two schemas that themselves were not compiling
correctly due to a wrong prefix being used.
There are some additional performance enhancements that can be done, like
caching the GrammarPool so that compilation of the schemas only occurs once
instead of multiple times. The biggest drain on performance with XML Schema
is in the initial compilation, validation itself happens fairly quickly.
This is provided as a proof of concept and can head off many possible errors
before they get to the compilation stage and execution stage of the BPEL
processes.
I suspect we need to do a few iterations over this patch, and possibly if
accepted make a similar patch in the trunk stream.
> Compiler should throw a meaningful error if <from>/<to> expression is empty
> ---------------------------------------------------------------------------
>
> Key: ODE-648
> URL: https://issues.apache.org/jira/browse/ODE-648
> Project: ODE
> Issue Type: Bug
> Components: BPEL Compilation/Parsing
> Affects Versions: 1.2, 1.3.2, 1.3.3, 2.0
> Reporter: Tammo van Lessen
> Assignee: Tammo van Lessen
> Fix For: 1.3.5, 2.0-beta3
>
> Attachments: ode-641v1.txt
>
>
> If the expression is empty, the only error message is from the expression
> compiler and is quite confusing:
> java.lang.IllegalStateException: XPath string and xpath node are both null
> at
> org.apache.ode.bpel.elang.xpath20.compiler.XPath20ExpressionCompilerImpl.doJaxpCompile.
> Fixing this issue will also help if a copy and paste engineer added a BPEL
> 1.1 <from expression="someexp"/> to a BPEL 2.0 process ;)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.