I receive following XML as input:
<ns1:A xmlns:ns1="www.a.com" xmlns:ns2="www.b.com" xmlns:ns3="www.c.com">
<ns1:B>.</ns1:B>
.
<ns2:L ns3:att1='xxx'>.</ns2:L>
.
<ns2:P>
<ns3:Q ns3:att1='yyy'> . <ns3:Q>
<ns2:P>
</ns1:A>
When I use Assign activity (code below)
<bpel:assign validate="no" name="Assign">
<bpel:copy>
<bpel:from part="payload" variable="input"></bpel:from>
<bpel:to part="inMSG" variable="XYZServiceRequest"></bpel:to>
</bpel:copy>
</bpel:assign>
to create request for a service invocation it changes the namespace of
L/@att1 and following message is sent to the service.
<A xmlns="www.a.com">
<B>.</B>
.
<L xmlns="www.b.com" att1='xxx'>.</ns2:L>
.
<P ="www.b.com">>
<Q xmlns="www.c.com" xmlns:axis2ns76="www.c.com"
axis2ns76:att1='yyy'> . <Q>
<P>
</A>
The source and destination of copy are exactly of same type and namespace.
Please note the change in namespace happens when attribute is of different
namespace from it container element and
does not happen when attribute is of same namespace as container element (in
case of Q/att1 it works fine)
-Harshit