gpt4 book ai didi

WSO2 ESB : Unexpected Character Error when using Salesforce Connector

转载 作者:行者123 更新时间:2023-12-03 23:56:26 26 4
gpt4 key购买 nike

尝试遵循 WSO2 时 directions要更新 Salesforce 记录,我收到以下错误。

Saleforce adaptor - error injecting sObjects to payload : org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '{' (code 123) in prolog; expected '<'


<?xml version="1.0" encoding="UTF-8"?>
<proxy
xmlns="http://ws.apache.org/ns/synapse"
xmlns:sfdc="sfdc" name="SalesforceUpdateTest" startOnLoad="true" statistics="enable" trace="enable" transports="http,https">
<target>
<inSequence>
<sequence key="conf:/SalesforceLoginInfo"/>
<payloadFactory>
<format>
<sfdc:sObjects
xmlns:sfdc="sfdc" type="Account">
<sfdc:sObject>
<sfdc:Id>TestId1</sfdc:Id>
<sfdc:ValueToChange>Yes</sfdc:ValueToChange>
</sfdc:sObject>
</sfdc:sObjects>
</format>
<args/>
</payloadFactory>
<salesforce.update>
<allOrNone>0</allOrNone>
<allowFieldTruncate>0</allowFieldTruncate>
<sobjects
xmlns:sfdc="sfdc">{//sfdc:sObjects}
</sobjects>
</salesforce.update>
</inSequence>
<outSequence>
<send/>
</outSequence>
</target>
</proxy>

我正在使用 WSO2 EI 6.1.0 和 salesforce 连接器 2.0.1。 Salesforce ID TestId1 和 ValueToChange 字段一样存在。我的 SalesforceLoginInfo 是正确的(我可以进行 Salesforce 查询,但不能进行更新)。

试图解决这个问题我看到了这个 very similar问题。但我已将这些行添加到 axis2.xml 按照解决方案,重启,问题依旧。
<messageBuilder contentType="application/json" class="org.wso2.carbon.integrator.core.json.JsonStreamBuilder"/>
<messageBuilder contentType="text/javascript" class="org.wso2.carbon.integrator.core.json.JsonStreamBuilder"/>

<messageFormatter contentType="application/json" class="org.wso2.carbon.integrator.core.json.JsonStreamFormatter"/>
<messageFormatter contentType="text/javascript" class="org.wso2.carbon.integrator.core.json.JsonStreamFormatter"/>

有谁知道如何解决这个问题?我觉得我只是在学习教程(我的代码几乎完全是给定的 wso2 salesforce 示例),但问题仍然存在。

更新:为了减少对 SalesforceLoginInfo 调用的混淆,我删除了它并将 salesforce.init 放在代码中。错误还是一样。
<?xml version="1.0" encoding="UTF-8"?>
<proxy
xmlns="http://ws.apache.org/ns/synapse"
xmlns:sfdc="sfdc" name="SalesforceUpdateTest" startOnLoad="true" statistics="enable" trace="enable" transports="http,https">
<target>
<inSequence>
<salesforce.init>
<username>developer@mycompany.com</username>
<password>mypasswordandmytoken</password>
<loginUrl>https://test.salesforce.com/services/Soap/u/27.0</loginUrl>
<blocking>true</blocking>
</salesforce.init>

<payloadFactory>
<format>
<sfdc:sObjects
xmlns:sfdc="sfdc" type="Account">
<sfdc:sObject>
<sfdc:Id>TestId1</sfdc:Id>
<sfdc:ValueToChange>Yes</sfdc:ValueToChange>
</sfdc:sObject>
</sfdc:sObjects>
</format>
<args/>
</payloadFactory>
<salesforce.update>
<allOrNone>0</allOrNone>
<allowFieldTruncate>0</allowFieldTruncate>
<sobjects
xmlns:sfdc="sfdc">{//sfdc:sObjects}
</sobjects>
</salesforce.update>
</inSequence>
<outSequence>
<send/>
</outSequence>
</target>
</proxy>

最佳答案

能够使用 WSO2 EI 6.1.0 和 salesforce connector 2.0.1 复制以下行为。

Saleforce adaptor - error injecting sObjects to payload : org.apache.axiom.om.OMException: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '{' (code 123) in prolog; expected '<'



找到用于修复它的以下代理序列。解决方法是将有效负载加载到属性中并将其传递给 Salesforce 操作 <salesforce.update>通过 Synapse XPath 变量 $ctx
          <payloadFactory media-type="xml">
<format>
<sfdc:sObjects xmlns:sfdc="sfdc" type="Account">
<sfdc:sObject>
<sfdc:Id>0011I001102zk24PZA</sfdc:Id>
<sfdc:Description>Account1</sfdc:Description>
</sfdc:sObject>
</sfdc:sObjects>
</format>
<args/>
</payloadFactory>
<log level="full"/>
<log>
<property xmlns:sfdc="sfdc" expression="//sfdc:sObjects" name="n****n"/>
</log>
<property xmlns:sfdc="sfdc"
expression="//sfdc:sObjects"
name="sobjectPayload"
scope="default"
type="OM"/>
<log>
<property expression="get-property('sobjectPayload')"
name="fromProp****"/>
</log>
<salesforce.update>
<allOrNone>0</allOrNone>
<allowFieldTruncate>1</allowFieldTruncate>
<sobjects>{$ctx:sobjectPayload}</sobjects>
</salesforce.update>

Salesforce 记录已更新,在本例中为客户对象记录的描述属性。

也不需要添加新的 messageBuildermessageFormatteraxis2.xmlmessageType is : text/xml在 Salesforce 连接器模板中,默认情况下包含在 Axis2 配置中。

关于WSO2 ESB : Unexpected Character Error when using Salesforce Connector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45578618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com