[ 
https://issues.apache.org/jira/browse/SYNAPSE-1060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15620998#comment-15620998
 ] 

Isuru Udana Loku Narangoda commented on SYNAPSE-1060:
-----------------------------------------------------

Above suggested fix is not sufficient, since runtime use the same reference 
even though the configuration doesn't changes, it keeps accumulating the 
payload segments. So need to clone while initializing the property value for 
each and every request.

> Property mediator configuration changes with requests if the type = OM
> ----------------------------------------------------------------------
>
>                 Key: SYNAPSE-1060
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-1060
>             Project: Synapse
>          Issue Type: Bug
>            Reporter: Isuru Udana Loku Narangoda
>            Assignee: Isuru Udana Loku Narangoda
>            Priority: Critical
>
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <sequence xmlns="http://ws.apache.org/ns/synapse"; name="main">
>    <property name="AA">
>       <a xmlns=""/>
>    </property>
>    <enrich>
>       <source type="inline">
>          <b xmlns=""/>
>       </source>
>       <target xmlns:ns="http://org.apache.synapse/xsd"; action="child" 
> xpath="$ctx:AA"/>
>    </enrich>
>    <log>
>       <property name="AA" expression="$ctx:AA"/>
>    </log>
> </sequence>
> {code}
> Here initial configuration of the property mediator getting updated with each 
> and every request.
> Log
> {code}
> 2016-10-31 07:29:51,770 [-] [PassThroughMessageProcessor-1]  INFO LogMediator 
> To: /, MessageID: urn:uuid:349a72af-a179-4a3c-a1b1-fd0570bb1d94, Direction: 
> request, AA = <a><b/></a>
> 2016-10-31 07:30:01,562 [-] [PassThroughMessageProcessor-2]  INFO LogMediator 
> To: /, MessageID: urn:uuid:c40a4bbe-87b4-40c5-8d92-6589a68b5387, Direction: 
> request, AA = <a><b/><b/></a>
> 2016-10-31 07:30:09,859 [-] [PassThroughMessageProcessor-3]  INFO LogMediator 
> To: /, MessageID: urn:uuid:c3238c91-c139-4426-a37f-f9e4bdd4adac, Direction: 
> request, AA = <a><b/><b/><b/></a>
> 2016-10-31 07:30:15,594 [-] [PassThroughMessageProcessor-4]  INFO LogMediator 
> To: /, MessageID: urn:uuid:390b0637-c52b-4dac-822d-ce478a7a92a1, Direction: 
> request, AA = <a><b/><b/><b/><b/></a>
> {code}
> Fix would be to clone the valueElement at the PropertyMediatorFactory
> Instead of 
> {code}
> if (value != null) {
>             propMediator.setValue(value.getAttributeValue(), dataType);
>         } else if (valueElement != null) {
>             propMediator.setValueElement(valueElement);
> {code}
> we need to use
> {code}
> if (value != null) {
>             propMediator.setValue(value.getAttributeValue(), dataType);
>         } else if (valueElement != null) {
>             propMediator.setValueElement(valueElement.cloneOMElement());
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org
For additional commands, e-mail: dev-h...@synapse.apache.org

Reply via email to