salesforcerest.update 在 WSO2 EI 6.1.1 中不起作用



我正在使用 wso2 ei 中的 Salesforce Rest 连接器执行 Salesforce 更新操作。 这里的问题是记录未更新,在形成请求有效负载后显示以下异常。例外情况:

|**TID: [-1234] [] [2019-12-06 05:03:05,191] ERROR {org.apache.synapse.commons.json.JsonUtil} - #getNewJsonPayload. Could not save JSON payload. Invalid input stream found. MessageID: urn:uuid:33275d28-c55d-4a9e-bbcd-17d60cc38d1e {org.apache.synapse.commons.json.JsonUtil} TID: [-1234] [] [2019-12-06 05:03:05,192] ERROR {org.apache.synapse.mediators.transform.PayloadFactoryMediator} - Error creating JSON Payload from source Lead {org.apache.synapse.mediators.transform.PayloadFactoryMediator}**

代码片段:

<api xmlns="http://ws.apache.org/ns/synapse" name="TestImageAPI" context="/imageapi">
<resource methods="GET" protocol="http https">
<inSequence>
<log level="custom" separator=",**, " description="FaultSequence">
<property name="=====TestImageAPI=====" value="called===="/>
</log>
<property name="ValuationId" value="00Q5500000AGHikEAH" scope="default" type="STRING"/>
<property name="First_Image_Name__c" value="cbimage" scope="default" type="STRING"/>
<property name="ObjectName" value="Lead" scope="default" type="STRING"/>
<payloadFactory media-type="json" description="Form Response Payload">
<format>{"Lead_Type__c":"$1"}</format>
<args>
<arg value="Phone"/>
</args>
</payloadFactory>
<property name="fieldAndValue" expression="json-eval($.)" scope="default" type="STRING"/>
<log level="custom">
<property name="===FirstImagepayload=====" expression="$ctx:fieldAndValue"/>
</log>
<sequence key="QRSag_VBSalesforceInitializer" description="Load Configurations"/>
<salesforcerest.init>
<accessToken>{$ctx:accessToken}</accessToken>
<apiVersion>{$ctx:apiVersion}</apiVersion>
<hostName>{$ctx:hostName}</hostName>
<refreshToken>{$ctx:refreshToken}</refreshToken>
<clientSecret>{$ctx:clientSecret}</clientSecret>
<clientId>{$ctx:clientId}</clientId>
<apiUrl>{$ctx:apiUrl}</apiUrl>
<registryPath>{$ctx:registryPath}</registryPath>
<intervalTime>{$ctx:intervalTime}</intervalTime>
</salesforcerest.init>
<property name="SalesforceAccessToken" expression="json-eval($.access_token)" scope="default" type="STRING"/>
<log level="full"/>
<property xmlns:ns="http://org.apache.synapse/xsd" name="Authorization" expression="fn:concat('Bearer ', get-property('SalesforceAccessToken'))" scope="transport" type="STRING" description="Authorization"/>
<salesforcerest.update>
<sObjectName>{$ctx:ObjectName}</sObjectName>
<Id>{$ctx:ValuationId}</Id>
<fieldAndValue>{$ctx:fieldAndValue}</fieldAndValue>
</salesforcerest.update>
</inSequence>
<outSequence/>
<faultSequence/>
</resource>
</api>

注意:在服务器和 ESB 项目中都添加了 Salesforce Rest 连接器

谁能给我一个解决方案??

我已经实现了上述用例。仅供参考,

<property description="Authorization" expression="fn:concat('Bearer ', get-property('SalesforceAccessToken'))" name="Authorization" scope="transport" type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>
<payloadFactory description="Form Response Payload" media-type="json">
<format>{"First_Image_Name__c":"$1"}</format>
<args>
<arg evaluator="xml" expression="$ctx:First_Image_Name__c"/>
</args>
</payloadFactory>
<log level="custom">
<property expression="json-eval($.)" name="===FirstImagepayload====="/>
</log>
<property expression="json-eval($.)" name="fieldAndValue" scope="default" type="STRING"/>
<property name="messageType" scope="axis2" type="STRING" value="application/json"/>
<property name="OUT_ONLY" scope="default" type="STRING" value="false"/>
<property expression="fn:concat($ctx:instance_url,'/services/data/v47.0/sobjects/Product2/',$ctx:StockID)" name="uri.var.ImageUpload" scope="default" type="STRING"/>
<property description="Authorization" expression="fn:concat('Bearer ', get-property('SalesforceAccessToken'))" name="Authorization" scope="transport" type="STRING" xmlns:ns="http://org.apache.synapse/xsd"/>
<log level="custom">
<property expression="$ctx:uri.var.ImageUpload" name="===SalesforceLink========="/>
</log>
<call description="ImageuploadEndpoint">
<endpoint>
<http method="patch" uri-template="{uri.var.ImageUpload}"/>
</endpoint>
</call>
<log level="full" separator="=== First Image Name Update Response ==="/>

最新更新