You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Rafal Rusin (JIRA)" <ji...@apache.org> on 2010/05/07 23:31:50 UTC

[jira] Reopened: (ODE-663) DOMUtils.cloneNode results in invalid namespace declaration

     [ https://issues.apache.org/jira/browse/ODE-663?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rafal Rusin reopened ODE-663:
-----------------------------


Dave, I reverted this patch for now. Please check out DataHandling20Test, it shows this in target/bpel-test.log:

05-07@13:29:18 ERROR (MockScheduler.java:172)     - Caught an exception during transaction
java.lang.RuntimeException: Scheduled transaction failed unexpectedly: transaction will not be retried!.
        at org.apache.ode.il.MockScheduler.doExecute(MockScheduler.java:306)
        at org.apache.ode.il.MockScheduler.access$200(MockScheduler.java:47)
        at org.apache.ode.il.MockScheduler$4.call(MockScheduler.java:123)
        at org.apache.ode.il.MockScheduler.execTransaction(MockScheduler.java:168)
        at org.apache.ode.il.MockScheduler.execTransaction(MockScheduler.java:159)
        at org.apache.ode.il.MockScheduler$6.call(MockScheduler.java:190)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
        at java.util.concurrent.FutureTask.run(FutureTask.java:123)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.ode.bpel.iapi.Scheduler$JobProcessorException: java.lang.RuntimeException: java.lang.UnsupportedOperationException: The Saxon DOM cannot be updated
        at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:471)
        at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:450)
        at org.apache.ode.il.MockScheduler.doExecute(MockScheduler.java:304)
        ... 10 more
Caused by: java.lang.RuntimeException: java.lang.UnsupportedOperationException: The Saxon DOM cannot be updated
        at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464)
        at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
        at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:960)
        at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:208)
        at org.apache.ode.bpel.engine.BpelProcess$1.invoke(BpelProcess.java:283)
        at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:238)
        at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:279)
        at org.apache.ode.bpel.engine.BpelProcess.handleJobDetails(BpelProcess.java:425)
        at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:455)
        ... 12 more
Caused by: java.lang.UnsupportedOperationException: The Saxon DOM cannot be updated
        at net.sf.saxon.dom.NodeOverNodeInfo.disallowUpdate(NodeOverNodeInfo.java:687)
        at net.sf.saxon.dom.NodeOverNodeInfo.cloneNode(NodeOverNodeInfo.java:395)
        at org.apache.ode.utils.DOMUtils.copyAttributes(DOMUtils.java:1205)
        at org.apache.ode.utils.DOMUtils.cloneNode(DOMUtils.java:1159)
        at org.apache.ode.bpel.elang.xquery10.runtime.XQuery10ExpressionRuntime.getResultValue(XQuery10ExpressionRuntime.java:607)
        at org.apache.ode.bpel.elang.xquery10.runtime.XQuery10ExpressionRuntime.evaluate(XQuery10ExpressionRuntime.java:432)
        at org.apache.ode.bpel.elang.xquery10.runtime.XQuery10ExpressionRuntime.evaluate(XQuery10ExpressionRuntime.java:161)
        at org.apache.ode.bpel.runtime.ExpressionLanguageRuntimeRegistry.evaluate(ExpressionLanguageRuntimeRegistry.java:80)
        at org.apache.ode.bpel.runtime.ASSIGN.evalRValue(ASSIGN.java:224)
        at org.apache.ode.bpel.runtime.ASSIGN.copy(ASSIGN.java:382)
        at org.apache.ode.bpel.runtime.ASSIGN.run(ASSIGN.java:86)
        at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
        ... 20 more


> DOMUtils.cloneNode results in invalid namespace declaration
> -----------------------------------------------------------
>
>                 Key: ODE-663
>                 URL: https://issues.apache.org/jira/browse/ODE-663
>             Project: ODE
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.3.3, 1.3.4
>            Reporter: Mark Ford
>            Assignee: Rafal Rusin
>            Priority: Critical
>             Fix For: 1.3.4
>
>         Attachments: ode1.x-663-v1.txt, ode1.x-663-v2.txt
>
>
> The DOMUtils.cloneNode code doesn't handle default namespace declarations correctly when processing an XQuery result from Saxon.
> For example:
> <ns1:parent xmlns:ns1="abc">
>    <ns1:child xmlns="def">
>       <ns2:nestedChild xmlns:ns2="def"/>
>    </ns1:child>
> </ns1:parent>
> results in:
> <ns1:parent xmlns:ns1="abc">
>    <ns1:child xmlns:xmlns="def">
>       <ns2:nestedChild xmlns:ns2="def"/>
>    </ns1:child>
> </ns1:parent>
> Notice that the default namespace has been rewritten as xmlns:xmlns which is invalid. 
> Granted the above example is a bit odd, but strange things can happen when passing nodes in and out of XSLT and XQuery with respect to namespace declarations.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.