将 API 令牌放入 SOAP 标头以支持专业版

问题描述 投票:0回答:1

我们的应用程序已成功通过安全审查和应用程序交换。该应用程序使用元数据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>';
soap http-headers salesforce token
1个回答
0
投票

500 服务器错误将是 SOAP 响应,请查看正文以获取错误的更多详细信息。

问题可能是您的 CallOptions 标头不在正确的 XML 命名空间中,它应该是

<CallOptions xmlns="http://soap.sforce.com/2006/04/metadata">
    <client>blah/blahtoken/</client>
</CallOptions>
© www.soinside.com 2019 - 2024. All rights reserved.