SOAP 请求必须使用 SOAP 1.1,未收到 SOAP 1.1 信封作为文档根

The SOAP request must use SOAP 1.1, did not receive a SOAP 1.1 Envelope as the document root

我正在尝试使用 CURL 创建批量 API 作业 command.my 文件 job.txt 如下 -

<?xml version="1.0" encoding="UTF-8"?>
<jobInfo xmlns="http://www.force.com/2009/06/asyncapi/dataload">
<operation>Query</operation>
<object>account</object>
<contentType>CSV</contentType>
</jobInfo> 

curl命令如下-

curl https://XXXXX.salesforce.com/services/Soap/u/42.0 -H "X-SFDC-Session:XXXXXXXXX" -H "Content-Type: text/xml; charset=UTF-8" -H "SoapAction":Query -d @job.txt 

但是当我执行上面的命令时,出现如下错误-

<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://shemas.xmlsoap.org/soap/envelope/"><soapenv:Body><soapenv:Fault><faultcode>soapev:VersionMismatch</faultcode><faultstring>The SOAP request must use SOAP 1.1, did not recieve a SOAP 1.1 Envelope as the document root</faultstring></soapenv:Fault></soapenv:Body></soapenv:Envelope>

我是 SFDC 批量新手 api

您正在调用应该调用 REST 端点的 SOAP 端点(或在 SOAP 端点上使用 SOAP 请求)。

我想你正在使用这个例子:https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_code_curl_walkthrough.htm。如果是这种情况,您使用了错误的请求 URL。尝试 /services/async/42.0/job 而不是 /services/Soap/u/42.0.