我们的应用程序已成功通过安全审查和应用程序交换。该应用程序使用元数据API来创建远程站点设置,但专业版不支持元数据API。我们已经从 Salesforce 获得了一个 API 令牌,我们已将其插入到肥皂头中,如下所示。虽然它在开发者/企业版中按预期运行,但在专业版中我们得到 500(服务器错误)。 如果以下实施和前进的方向有问题,请提出建议。
'<?xml version="1.0" encoding="utf-8"?>' +
'<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'+
'<env:Header>' +
'<urn:SessionHeader xmlns:urn="http://soap.sforce.com/2006/04/metadata">' +
'<urn:sessionId>sessionhere</urn:sessionId>' +
'</urn:SessionHeader>' +
'<CallOptions>' +
'<client>blah/blahtoken/</client>' +
'</CallOptions>' +
'</env:Header>' +
'<env:Body>' +
'<createMetadata xmlns="http://soap.sforce.com/2006/04/metadata">' +
'<metadata xsi:type="RemoteSiteSetting">' +
'<fullName>Metadata</fullName>' +
'<description>Metadata API Remote Site Setting for Declarative Rollup Tool (DLRS)</description>' +
'<disableProtocolSecurity>false</disableProtocolSecurity>' +
'<isActive>true</isActive>' +
'<url>https://some.ap4.visual.force.com</url>' +
'</metadata>' +
'</createMetadata>' +
'</env:Body>' +
'</env:Envelope>';
500 服务器错误将是 SOAP 响应,请查看正文以获取错误的更多详细信息。
问题可能是您的 CallOptions 标头不在正确的 XML 命名空间中,它应该是
<CallOptions xmlns="http://soap.sforce.com/2006/04/metadata">
<client>blah/blahtoken/</client>
</CallOptions>