[ 
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.

Reply via email to