У меня есть этот вопрос, я пытаюсь отправить запрос одному API, этот APPI ожидает приложения / json, поэтому я сначала проверил почтальон, чтобы увидеть результаты и работает, как я ожидал, но в моем коде нет, затем мой код, publi c function myfunctiion ()
{$ req = '{"myparams": myvalues, "myparams": myvalues, "myparams": myvalues, "myparams": {"myparams": myvalues, "myparams": "myvalues", "myparams": "myvalues", "myparams": myvalues} '; $ jsonRequest = json_decode ($ req, TRUE); ;
try{
self::setWsdl('API url');
$context =[
'Content-Type: application/json',
'Accept: application/json',
];
self::setContext($context);
self::setRequest($jsonRequest);
return InstanceCurlClient::curlClientInit();
} catch(\Exception $error){
return $error->getMessage();
}
}
и у меня моя конфигурация curl
public static function curlClientInit(){
try{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_URL, self::getWsdl());
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, self::getContext());
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POSTFIELDS, self::getRequest());
$response = curl_exec($ch);
return $response;
}catch(\Exception $error) {
if (empty($response)) {
throw new SoapFault('CURL error: '.curl_error($ch), curl_errno($ch));
}
}
curl_close($ch);
}
, поэтому мой результат, если я проверю это, вернет мне 0 и я ожидаю эту ошибку {"error": "Credenciales no válidas "} и если после экземпляра асоциативного массива a json и я использую json_enconde, верните false, и я не знаю, почему, если сделать то же самое в почтальоне, я выдаю ошибку, которую я ожидал