API令牌到SOAP标头中,以支持Professional Edition

时间:2018-11-02 08:33:47

标签: api soap header salesforce token

我们的应用已成功通过安全审查并已通过应用交换。该应用程序使用元数据API创建远程站点设置,但专业版不支持元数据API。我们从Salesforce获得了一个api令牌,并将其插入到soap标头中,如下所示。尽管它在开发人员/企业版中可以正常运行,但在专业版中,我们得到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>';

1 个答案:

答案 0 :(得分:0)

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

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

I want to avoid having the same HTML page accessible on www.example.com and www.example.com/index.html, i.e i want to redirect the index.html to root.