Mule 调用message Enricher中的组件以及如何定义message Enricher的目标值
我正在练习salesforce到mulesoft的连接。我试图从salesforce查询帐户,使用Invoke组件执行一些逻辑,并在salesforce中更新帐户名。请在下面找到XML代码。我调用时出现以下错误 执行表达式变量:Fname=\uuuu object\u以进行\u扩展失败。org.mule.api.expression.ExpressionRuntimeException XML:Mule 调用message Enricher中的组件以及如何定义message Enricher的目标值,mule,Mule,我正在练习salesforce到mulesoft的连接。我试图从salesforce查询帐户,使用Invoke组件执行一些逻辑,并在salesforce中更新帐户名。请在下面找到XML代码。我调用时出现以下错误 执行表达式变量:Fname=\uuuu object\u以进行\u扩展失败。org.mule.api.expression.ExpressionRuntimeException XML: 语法错误。。它将是target=[variable:Fname]而不是target=[variabl
语法错误。。它将是target=[variable:Fname]而不是target=[variable:Fname]
或者只需使用target=[flowVars.Fname]谢谢您的帮助
<http:listener-config name="HTTP_Listener_Configuration" host="localhost" port="8092" doc:name="HTTP Listener Configuration"/>
<sfdc:config name="Salesforce__Basic_Authentication" username="username" password="*******" securityToken="Token" doc:name="Salesforce: Basic Authentication" url="https://login.salesforce.com/services/Soap/u/38.0">
<reconnect-forever/>
</sfdc:config>
<spring:beans>
<spring:bean id="Bean" name="UpdateAcc" class="com.pack.salesforceconnect.SFJava"/>
</spring:beans>
<flow name="salesforceconnectFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/salesforce" doc:name="HTTP"/>
<sfdc:query-single config-ref="Salesforce__Basic_Authentication" query="dsql:SELECT Id,Name,ShippingCity FROM Account ORDER BY Name DESC" doc:name="Salesforce"/>
<dw:transform-message doc:name="Transform Message">
<dw:input-payload doc:sample="sample_data\Account.dwl"/>
<dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
{
Id: payload.Id,
Name: payload.Name,
ShippingCity: payload.ShippingCity
}]]></dw:set-payload>
</dw:transform-message>
<enricher source="#[payload.Name]" target="#[Variable:Fname]" doc:name="Message Enricher">
<invoke name="Invoke" object-ref="UpdateAcc" method="ChangeSCity" methodArguments="#[payload.Name]" metadata:id="id"/>
</enricher>
<dw:transform-message doc:name="Transform Message">
<dw:set-payload><![CDATA[%dw 1.0
%output application/json
---
[{
Id: payload.Id,
Name: variable:FName,
ShippingCity: payload.ShippingCity
}]]]></dw:set-payload>
</dw:transform-message>
<set-payload value="#[payload]" doc:name="Set Payload"/>
</flow>
</mule>
package com.pack.salesforceconnect;
public class SFJava {
public String ChangeSCity(String Fname){
//String ShippingCity;
System.out.print("Account Name received : "+Fname);
if (Fname == null){
Fname = "New Account";
}else{
Fname = "Washington Industries Inc.,";
}
System.out.print("Account Name: "+Fname);
return Fname;
}
}