我写了一个可以通过REST API与Salesforce交互的Wordpress插件。它使用用户名/密码成功获取实例URL和身份验证令牌。Salesforce创建记录,但回应了405
我可以使用wp_remote_post分别使用GET和POST来提交查询和创建对象。
然而,在创建对象时,虽然Salesforce的实例创建成功后,我得到的回应我的帖子下面:
{“消息”:“HTTP方法‘POST’不允许允许的HEAD,GET,PATCH,DELETE”,‘错误码’:‘METHOD_NOT_ALLOWED’}
使用这些请求相同的JSON主体内容,我能够通过Salesforce的工作台,没有任何问题,在所有提交和创造。我得到的是这样的一个适当的回应:
{ “ID”: “003E000000OubjkIAB”, “成功”:真实, “错误”:[] }
有我发送的标题中有一些Salesforce仅部分不同意?下面是越来越被作为使用wp_remote_post的结果,其他一些参数 - http://codex.wordpress.org/HTTP_API#Other_Arguments
这里的PHP代码调用它:
$connInfo['access_token'] = get_transient('npsf_access_token');
$connInfo['instance_url'] = get_transient('npsf_instance_url');
$url = $connInfo['instance_url'] . $service;
$sfResponse = wp_remote_post($url, array(
'method' => $method,
'timeout' => 5,
'redirection' => 5,
'httpversion' => 1.0,
'blocking' => true,
'headers' => array("Authorization" => "OAuth ". $connInfo['access_token'], "Content-type" => "application/json"),
'body' => $content,
'cookies' => array()
)
);
的$内容正在通过json_encode编码它到达该点之前, 。
更新: 它是特定于由WP_Http_Curl类发送的额外CURL选项之一。我还没有缩小哪一个Salesforce遇到问题。
你能分享你的PHP代码吗? –
你使用的是PHP工具箱吗? – VictorKilo
不,不使用php工具包。它似乎主要针对SOAP请求。我只是使用REST服务。 – Freddy