Необходимо получить только код ошибки из заголовка, а также ответ json в веб-интерфейсе MS Dynamics в php - PullRequest
0 голосов
/ 10 июля 2019

Я использую Prefer:return=representation для получения определенных полей при создании учетных записей

URL API https://xxxxxx-xxxx-xxxxx-xxxx/api/data/v9.0/accounts?$select=accountid,name,telephone1.

Запрос

  $params['firstname'] = $first_name;
  $params['lastname']  = $last_name;   
  $authHeader = 'Authorization: Bearer ' . $access_token;
    $headers = array (
            $authHeader,
            'Content-Type:application/json',
            'Prefer:return=representation', //NEWLY ADDED TO GET SPECIFIC 
  FIELDS
            'Accept:application/json;' 
    );

    $data_string = json_encode ( $params );

     $custom_vars [CURLOPT_VERBOSE] = true;
    $custom_vars [CURLOPT_HEADER] = true; 
    customLogs('case_create.log',print_r($data_string,true),3);
    $result = gUnifyCURLCall ( $url, 'POST', $data_string, $headers, true, false, $custom_vars );

 function gUnifyCURLCall($url, $method_type = 'GET', $data_string = null, $header = null, $ssl_verify = true, 
    $tls_version = false, $custom_vars = array()) {
  $ch = curl_init ();
  curl_setopt ( $ch, CURLOPT_URL, $url );
  curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE );
  curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, $method_type );
if ($data_string != null) {
    curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data_string );
}
if ($header != null) {
    curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );       
}
if(!empty($custom_vars)) {      
    foreach ( $custom_vars as $key=>$val) {         
        curl_setopt($ch, trim($key), 1);
    }
}

$result = curl_exec ( $ch );

curl_close ( $ch );
return $result;

} Я хочу получить код ошибки сервера, а также ответ, поэтому я передаю CURLOPT_VERBOSE:TRUE, CURLOPT_HEADER:TRUE в заголовке.Он возвращает следующий ответ от MS Dynamics.

HTTP / 1.1 201 Создан Cache-Control: no-cache Разрешить: OPTIONS, GET, HEAD, POST Content-Type: application / json;odata.metadata = минимальный Истекает: -1 Сервер: x-ms-service-request-id: 85aed055-abff-42b0-a9bd-a4ad617638b1 REQ_ID: 85aed055-abff-42b0-a9bd-a4ad617638b1 AuthActivityId: xxxxx Приближение: xxxxxпредставление x-ms-ratelimit-burst-оставшихся-xrm-запросов: 5995 x-ms-ratelimit-оставшихся-времени-xrm-запросов: 1,199.79 OData-Version: 4.0 Public: OPTIONS, GET, HEAD, POST Set-Cookie: ApplicationGatewayAffinity= 69ed338020af0cda5b08cef8314523419f00ed630d46bde35fe61b31f28285cf; Path = /; Domain = xxxxxxxx.xxxxxxx.dynamics.com Дата: среда, 10 июля 2019 10:43:48 GMT Длина контента: 244 {"@ odata.conte"1021 *)

ранее мы работали только с кодом ответа в заголовке, чтобы получить entity_id, теперь веб-интерфейс MS Dynamics обновлен, поэтому теперь мы хотим получить код ответа из заголовка итакже ответ с использованием PHP

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