Запрос Salesforce cURL PUT не обновляется - PullRequest
0 голосов
/ 16 октября 2018

У меня была эта проблема с Salesforce API и PUT-запросами, и я не могу понять это.У меня есть запрос curl, который должен обновлять запись в Salesforce, но когда я запускаю команду в Postman, я не получаю ответа, никакого статуса или чего-либо еще.Однако, если я запускаю команду curl в моем окне Bash, она обновляет запись, как и ожидалось.Есть идеи?Я использую PHP Slim Framework.

Вот мой запрос Postman:

http://api.local/v1/salesforce/student/010012218?FirstName=dave&LastName=tester

Приложение работает, генерируя токен и канал-носитель, требуемый Salesforce, а затем генерирует URL-адрес запроса скручивания.URL, который генерирует мое приложение:

curl https://my_salesforce_url/services/data/v37.0/sobjects/my_sf_object/010012218 -H 'Authorization: Bearer my_sf_bearer' -H 'Content-Type: application/json' -d @json/account_type_update.json -X PATCH

Я использую функцию PHP exec () для выполнения этой функции, как и во многих других проектах.

Странно то, что я не получаю ответа.Если я добавлю фиктивные параметры в свой запрос Почтальона, я получу ответ об ошибке, но я не получу.

Чтобы добавить к тайне, коллега клонировал мой проект и у него не было никаких проблем.Отправка PUT-запроса через Postman работает как положено.Однако на моей машине это не работает.

Кроме того, я попытался настроить традиционный запрос curl с помощью curl_init () и curl_exec (), но получил аналогичный результат.

I 'м в недоумении.Есть идеи?Мы оба работаем под Win7 x64, используя WAMP и PHP7.Заранее спасибо.

Вот мой полный сценарий:

function updateRecord($object, $id, $json_file) {

  //Get Access token//////////////////////////
  $response = $this->getToken();
  $responseObj = json_decode($response);
  $access_token = $responseObj->access_token;
  //access token///////////////////////////////

  $json_file = $this->json_directory . '/' . $json_file;

  $curl = "curl " . $this->salesforce_url ."/" . $object . "/" . $id . " -H 'Authorization: Bearer " . $access_token . "' -H 'Content-Type: application/json' -d @" . $json_file . " -X PATCH";

  $response = exec($curl);
  $responseArray = json_decode($response,true);

  return $response;
}
...