Closed Hooghof closed 1 week ago
Flow Properties are statically set on install by the frontend (Ruby on Rails). They should be resolved before install. The custom properties are not resolved properly. The following is send to the backend:
<?xml version="1.0"?>
<camelContext xmlns="http://camel.apache.org/schema/blueprint" id="6719ed897151ef001a000051" useMDCLogging="true" streamCache="true">
<jmxAgent id="agent" loadStatisticsEnabled="true"/>
<streamCaching id="streamCacheConfig" spoolThreshold="0" spoolDirectory="tmp/camelcontext-#camelId#" spoolUsedHeapMemoryThreshold="70"/>
<threadPoolProfile id="wiretapProfile" defaultProfile="false" poolSize="0" maxPoolSize="5" maxQueueSize="2000" rejectedPolicy="DiscardOldest" keepAliveTime="10"/>
<threadPoolProfile id="defaultProfile" defaultProfile="true" poolSize="0" maxPoolSize="10" maxQueueSize="1000" rejectedPolicy="CallerRuns" keepAliveTime="30"/>
<onException>
<exception>java.lang.Exception</exception>
<redeliveryPolicy maximumRedeliveries="0" redeliveryDelay="5000"/>
<setExchangePattern pattern="InOnly"/>
</onException>
<interceptFrom>
<to uri="bean:dovetailTracer?method=traceEvent"/>
</interceptFrom>
<route id="6b781420-2c37-459c-b630-1b03f635d46a">
<from uri="jetty:https://0.0.0.0:9001/regressiontests/FlowPropSetBody?httpBinding=#customHttpBinding&matchOnUriPrefix=false&continuationTimeout=0&sslContextParameters=sslContext"/>
<removeHeaders pattern="CamelHttp*"/>
<to uri="direct:6719ed897151ef001a000051_test_6b781420-2c37-459c-b630-1b03f635d46a?exchangePattern=InOut"/>
</route>
<route id="744f4988-bf1e-4296-b954-fd6cfe5d68e1">
<from uri="direct:6719ed897151ef001a000051_test_6b781420-2c37-459c-b630-1b03f635d46a"/>
<setBody>
<constant>Environment=test Flow_id=6719ed897151ef001a000051 Flow_name=FlowPropSetBody Server=https://development.dovetail.world Tenant=Regression Tests FlowProp1= FlowProp2=</constant>
</setBody>
<to uri="direct:6719ed897151ef001a000051_test_744f4988-bf1e-4296-b954-fd6cfe5d68e1"/>
</route>
<route id="a392ec47-d760-4401-ade6-10f9cb2a4e66">
<from uri="direct:6719ed897151ef001a000051_test_744f4988-bf1e-4296-b954-fd6cfe5d68e1"/>
<to uri="log:nl.kabisa.flux//?skipBodyLineSeparator=false&multiline=true&showHeaders=false&showBody=true&showBodyType=true&showFiles=true&showException=false&showStackTrace=false&showCaughtException=false"/>
</route>
<property key="frontend.engine" value="dovetail"/>
</camelContext>
Ruby on Rails needs to be checked to set the properties properly.
FYI: Growrs (partner) reported in Jira that the issue is not isolated to the SetBody component; the url property from the Http component has the same issue on https://demo.dovetail.world
Unfortunately, the issue with Dovetail ignoring the value of the settings variables is not limited to one flow and the SetBody component as I had reported before. This seems to be a generalized issue that renders the new version of Dovetail nearly unusable. A newly created flow is having the same issue and won’t even install because of it.
**Test case*** Instance: development Tenant: Regression Tests Flow: FlowPropSetBody
Expectation: all flow properties are resolved in the message body Result: only the 'self'-properties are resolved in the message body