在mule中从Eloqua获取数据时出现连接错误

时间:2017-08-20 07:58:43

标签: http mule eloqua

有时我在使用HTTP组件连接到Eloqua系统时遇到错误。有时它会正确地从Eloqua获取数据,但在极少数情况下会出现以下错误。

20:31:11.474     08/18/2017     Worker-0     [elq-sfdc-batch-interface-v1].ma-sfdc-ma-batch-interfaceFlow.stage1.29     ERROR
Remote host closed connection. Possible SSL/TLS handshake issue. Check protocols, cipher suites and certificate set up. Use -Djavax.net.debug=handshake for further debugging.
20:31:11.477     08/18/2017     Worker-0     [elq-sfdc-batch-interface-v1].ma-sfdc-ma-batch-interfaceFlow.stage1.29     ERROR
******************************************************************************** Message : Error sending HTTP request. Element : /ma-sfdc-ma-batch-interfaceFlow/processors/18/get-ma-exported-data/subprocessors/0 @ elq-sfdc-batch-interface-v1:ma-sfdc-marketing-activities-create-export.xml:74 (Get All Exported Data) -------------------------------------------------------------------------------- Exception stack is: Error sending HTTP request. (org.mule.api.MessagingException) (set debug level logging or '-Dmule.verbose.exceptions=true' for everything) ******************************************************************************** 

这是HTTP组件的配置方式

<http:request-config name="Eloqua_BULK_API" protocol="HTTPS" host="${eloqua.host}" port="${eloqua.port}" basePath="/API/BULK/2.0" connectionIdleTimeout="1200000" responseTimeout="1200000" doc:name="HTTP Request Configuration">
    <http:basic-authentication username="${eloqua.username}" password="${eloqua.password}" preemptive="true"/>
</http:request-config>

<http:request config-ref="Eloqua_BULK_API" path="#[flowVars.'uri-export-data-contact']" method="GET" doc:name="Get All Exported Data">
    <http:request-builder>
        <http:query-param paramName="limit" value="${eloqua.record.limit.activities}"/>
        <http:query-param paramName="offset" value="#[sessionVars.offset]"/>
    </http:request-builder>
</http:request>

我在连接到salesforce时遇到类似的异常,在salesforce中随时都有连接选项,我启用了它。 HTTP组件中是否有相同的选项?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,它一直有效,直到成功,下面是代码

<until-successful maxRetries="20" millisBetweenRetries="40000" synchronous="true" doc:name="Until Successful">
    <processor-chain doc:name="Processor Chain">
        <http:request config-ref="Eloqua_BULK_API" path="#[flowVars.'uri-export-data-contact']" method="GET" doc:name="Get All Exported Data">
            <http:request-builder>
                <http:query-param paramName="limit" value="${eloqua.record.limit.activities}"/>
                <http:query-param paramName="offset" value="#[sessionVars.offset]"/>
            </http:request-builder>
        </http:request>
    </processor-chain>
</until-successful>