CRM Online SOAP Конечная точка

У меня было требование подключить CRM Online к веб-сайту Drupal. Поскольку у меня не было возможности написать собственный веб-сервис, я использовал интерфейс CRM SOAP и PHP.

Это работало хорошо в течение нескольких месяцев, однако на прошлой неделе, и немного это перестало работать. Я могу получить требуемые токены для аутентификации, но любой отправленный мной запрос приводит к пустому ответу.

Кто-нибудь еще сталкивался с этим или может указать мне в лучшем направлении, чтобы выяснить, что происходит.

0

Решение

Я обнаружил ответ.

Ниже приведен снимок моего кода

$cURLHandle = curl_init();
curl_setopt($cURLHandle, CURLOPT_URL, $soapUrl);
curl_setopt($cURLHandle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cURLHandle, CURLOPT_TIMEOUT, 60);
curl_setopt($cURLHandle, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($cURLHandle, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($cURLHandle, CURLOPT_SSLVERSION, 3);
curl_setopt($cURLHandle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($cURLHandle, CURLOPT_HTTPHEADER, $headers);
curl_setopt($cURLHandle, CURLOPT_POST, 1);
curl_setopt($cURLHandle, CURLOPT_POSTFIELDS, $request);
$response = curl_exec($cURLHandle);
curl_close($cURLHandle);

Две вещи, которые я должен исправить здесь. Во-первых, я ничего не делал, когда возникла проблема, когда я действительно должен был заменить эту строку

$response = curl_exec($cURLHandle);

С этим

if( ! $response = curl_exec($cURLHandle))
{
trigger_error(curl_error($cURLHandle));
}

И, во-вторых, кажется, что используемая версия SSL была изменена. Изменяя эту строку

curl_setopt($cURLHandle, CURLOPT_SSLVERSION, 3);

До версии 4 вместо 3 начал работать! Поэтому вместо этого я только что полностью закомментировал эту строку.

Надеюсь, это поможет кому-то еще!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]