assimbly / runtime

Java & REST API's for creating and running integrations
Apache License 2.0
18 stars 3 forks source link

[SetBody]Custom flow properties not resolving correctly #296

Closed Hooghof closed 1 week ago

Hooghof commented 1 week ago

**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

Image

Image

Image

skin27 commented 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&amp;matchOnUriPrefix=false&amp;continuationTimeout=0&amp;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&amp;multiline=true&amp;showHeaders=false&amp;showBody=true&amp;showBodyType=true&amp;showFiles=true&amp;showException=false&amp;showStackTrace=false&amp;showCaughtException=false"/>
    </route>
    <property key="frontend.engine" value="dovetail"/>
</camelContext>

Ruby on Rails needs to be checked to set the properties properly.

joepkalthoff commented 1 week ago

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.