Hi Jerad,

Thank you for the answer.



On Wed, Dec 3, 2014 at 9:32 AM, Jerad Rutnam <[email protected]> wrote:

> Hi Malintha,
>
> I'm not sure if this will help, did you try adding a type to target tag.
>
> <enrich>
>             <source type="property" clone="true"
> property="message1"></source>
>             <target type="custom" xpath="//deliverystatus" xmlns="
> http://ws.apache.org/ns/synapse";></target>
>

we can explicitly add namespace as above. If we don't assign any , the
default namespace will be added.  AFAIK, no need to add the default ns
explicitly.

</enrich>
>
> Regards,
>
> On Mon, Dec 1, 2014 at 7:52 PM, Malintha Adikari <[email protected]>
> wrote:
>
>> Hi Senduran,
>>
>> I tried it but the issue is still there ( Using esb 4.8.1). Will check
>> more with your sample. Thank you very much
>>
>> On Mon, Dec 1, 2014 at 2:03 PM, Senduran Balasubramaniyam <
>> [email protected]> wrote:
>>
>>> Hi Malintha,
>>>
>>> can you try the following and let me know (btw  I tried with ESB 4.8.1)
>>>
>>> <property name="deliverystatus" scope="default">
>>>     <deleveryStatus xmlns="">temval</deleveryStatus>
>>> </property>
>>>
>>> <property name="message1" value="abc123" scope="default"
>>> type="STRING"></property>
>>>
>>> <enrich>
>>>     <source type="property" clone="true"
>>> property="deliverystatus"></source>
>>>     <target type="body" action="child"></target>
>>> </enrich>
>>>
>>>
>>> <enrich>
>>>     <source clone="true" type="custom" xpath="$ctx:message1"></source>
>>>     <target action="replace" type="custom"
>>> xpath="//deliverystatus/text()"></target>
>>> </enrich>
>>>
>>> Thanks
>>> Senduran
>>>
>>> On Mon, Dec 1, 2014 at 6:49 PM, Malintha Adikari <[email protected]>
>>> wrote:
>>>
>>>> Hi Senduran,
>>>>
>>>> Thank you for the prompt response.
>>>>
>>>>
>>>> On Mon, Dec 1, 2014 at 1:06 PM, Senduran Balasubramaniyam <
>>>> [email protected]> wrote:
>>>>
>>>>> Hi Malintha,
>>>>>
>>>>> You can get rid of the default namespace by adding an empty namespace
>>>>> i.e
>>>>> <property name="deliverystatus" scope="default">
>>>>>             <deleveryStatus xmlns=""></deleveryStatus>
>>>>> </property>
>>>>>
>>>>
>>>> I have already tried adding xmlns="" to remove added namespace. But it
>>>> did not fix the issue for me.
>>>>
>>>>>
>>>>> also I am not quite sure about the 2nd enrich mediator's target. Since
>>>>> if you are adding something like "//deliverystatus" then the xpath will 
>>>>> try
>>>>> to find a "deliverystatus" node in the body.
>>>>>
>>>>
>>>> First I add this element to request body. Then I try to add value into
>>>> that element. I used  log mediator and printed the payload after adding the
>>>> <deliveryStatus> element and the payload contains that element. But I
>>>> cannot access that element using //deliveryStatus xpath.
>>>>
>>>> I tried to access same DOM level elements and I could access them.
>>>> Problem is cannot access the newly added element though it exists.
>>>>
>>>>
>>>>> If your request doesn't have a deliverystatus node this error may
>>>>> occur
>>>>>
>>>>> Thanks
>>>>> Senduran
>>>>>
>>>>>
>>>>> On Mon, Dec 1, 2014 at 5:59 PM, Malintha Adikari <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I want to add following XML element as a child to the payload body
>>>>>>
>>>>>> <deleveryStatus>abc123</deleveryStatus>
>>>>>>
>>>>>> This "abc123" value is taken from a property.
>>>>>>
>>>>>> I used enrich mediator to add the element as follows
>>>>>>
>>>>>> <property name="deliverystatus" scope="default">
>>>>>>             <deleveryStatus></deleveryStatus>
>>>>>>          </property>
>>>>>>
>>>>>>  <enrich>
>>>>>>             <source type="property" clone="true"
>>>>>> property="deliverystatus"></source>
>>>>>>             <target type="body" action="child"></target>
>>>>>>          </enrich>
>>>>>>
>>>>>> and it sets the element as expected to the body (with default
>>>>>> namespace)
>>>>>>
>>>>>> (<deleveryStatus xmlns="http://ws.apache.org/ns/synapse
>>>>>> "></deleveryStatus>)
>>>>>>
>>>>>> Then I tired to set value in to this element (taking from another
>>>>>> property)
>>>>>>
>>>>>>  <enrich>
>>>>>>             <source type="property" clone="true"
>>>>>> property="message1"></source>
>>>>>>             <target xpath="//deliverystatus" xmlns="
>>>>>> http://ws.apache.org/ns/synapse";></target>
>>>>>>   </enrich>
>>>>>>
>>>>>> and it gives me following error
>>>>>>
>>>>>>  *ERROR - EnrichMediator Invalid Target object to be enrich.*
>>>>>>
>>>>>> But I could add values to elements which were already there in the
>>>>>> payload body (value can't be added only to the newly added one). What 
>>>>>> could
>>>>>> be the reason for this issue? Is there any other way to do this task ?
>>>>>>
>>>>>> Regards,
>>>>>> Malintha Adikari
>>>>>> --
>>>>>> *Malintha Adikari*
>>>>>>  Software Engineer
>>>>>> WSO2 Inc.; http://wso2.com
>>>>>> lean.enterprise.middleware
>>>>>>
>>>>>> Mobile: +94 71 2312958
>>>>>> Blog:    http://malinthas.blogspot.com
>>>>>> Page:   http://about.me/malintha
>>>>>>
>>>>>> _______________________________________________
>>>>>> Dev mailing list
>>>>>> [email protected]
>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Senduran *
>>>>> Software Engineer,
>>>>> WSO2, Inc.;  http://wso2.com/ <http://wso2.com/>
>>>>> Mobile: +94 77 952 6548
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Malintha Adikari*
>>>>  Software Engineer
>>>> WSO2 Inc.; http://wso2.com
>>>> lean.enterprise.middleware
>>>>
>>>> Mobile: +94 71 2312958
>>>> Blog:    http://malinthas.blogspot.com
>>>> Page:   http://about.me/malintha
>>>>
>>>
>>>
>>>
>>> --
>>> *Senduran *
>>> Software Engineer,
>>> WSO2, Inc.;  http://wso2.com/ <http://wso2.com/>
>>> Mobile: +94 77 952 6548
>>>
>>
>>
>>
>> --
>> *Malintha Adikari*
>>  Software Engineer
>> WSO2 Inc.; http://wso2.com
>> lean.enterprise.middleware
>>
>> Mobile: +94 71 2312958
>> Blog:    http://malinthas.blogspot.com
>> Page:   http://about.me/malintha
>>
>> _______________________________________________
>> Dev mailing list
>> [email protected]
>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>
>>
>
>
> --
> *Jerad Rutnam | **Software Engineer - UI*
> WSO2, Inc. www.wso2.com
>
> *Email: [email protected] <[email protected]>*
>



-- 
*Malintha Adikari*
 Software Engineer
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

Mobile: +94 71 2312958
Blog:    http://malinthas.blogspot.com
Page:   http://about.me/malintha
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to