[
https://issues.apache.org/jira/browse/ODE-664?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Ford updated ODE-664:
--------------------------
Attachment: HelloWorld2.zip
Attached is a modified version of the HelloWorld2 example process to illustrate
this defect. The changes here are fairly extensive since I had to add an XSD
and change the WSDL bindings to doc/literal so I could send/receive elements
although it's still a simple process.
I don't recall exactly what I was attempting to do in the original process
definition that prompted me to look at the ASSIGN code and report this issue. I
do know that I was constructing elements with XQuery and relying on the Replace
Element strategy from the spec to propagate namespace declarations where needed.
In the attached test case, you get the following response from the sendsoap
driver:
{code:xml}
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<parent xmlns="urn:schema:one">
<child xmlns="">ns2:hello</child>
</parent>
</soapenv:Body>
</soapenv:Envelope>
{code}
Please note that the element named "child" is in the empty namespace when it
should be in the urn:schema:two namespace. Also note that there is no namespace
declaration for ns2 on the child element which is a problem since its text
value references that namespace (in an application specific manner). See the
attached bpel for details. I believe that the behavior has changed from my
original report but the above is still incorrect. Please disregard my original
suggestion to change the specified line of code in ASSIGN. I'm sure a lot has
changed since the original report.
> Namespace declarations not being copied in ASSIGN.replaceElement
> ----------------------------------------------------------------
>
> Key: ODE-664
> URL: https://issues.apache.org/jira/browse/ODE-664
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 1.3.3, 1.3.4
> Reporter: Mark Ford
> Assignee: Karthick Sankarachary
> Priority: Critical
> Fix For: 1.4
>
> Attachments: HelloWorld2.zip
>
>
> The following line in ASSIGN.replaceElement looks wrong:
> DOMUtils.copyNSContext(ptr, replacement);
> I think it should be:
> DOMUtils.copyNSContext(src, replacement);
> The rationale is that the RE strategy should copy the attributes from the
> source element to the target element. Without this change, you may end up
> with undeclared namespace prefixes in the output of your BPEL.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.