Неподдерживаемый тип носителя для запроса xml php curl

Вот мой код, который я использую для подключения к Mind Body Online API. Если КТО-ТО вообще имеет какой-либо опыт с этим, пожалуйста, направьте меня в правильном направлении!

Я получаю сообщение об ошибке :Сервер не может обслужить запрос, поскольку тип носителя не поддерживается.

Код:

$soapUrl = "http://clients.mindbodyonline.com/api/0_5/ClassService.asmx?WSDL";
// xml post structure

$xml_post_string = '<?xml version="1.0" encoding=\"utf-8\"?>
<soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Header/>
  <soapenv:Body>
     <GetClasses xmlns="http://clients.mindbodyonline.com/api/0_5/GetClasses">
        <Request>
           <SourceCredentials>
              <SourceName>{user}</SourceName>
              <Password>{pass}</Password>
              <SiteIDs>
                 <int>{id}</int>
              </SiteIDs>
           </SourceCredentials>
           <XMLDetail>Basic</XMLDetail>
           <PageSize>10</PageSize>
           <CurrentPageIndex>0</CurrentPageIndex>
           <SchedulingWindow>true</SchedulingWindow>
        </Request>
     </GetClasses>
  </soapenv:Body>
</soapenv:Envelope>
';

$headers = array(
    "Content-type: application/xml;charset=utf-8",
    "Accept: application/xml",
    "Cache-Control: no-cache",
    "Pragma: no-cache",
    "SOAPAction: http://clients.mindbodyonline.com/api/0_5/GetClasses",
    "Content-length: ".strlen($xml_post_string),
    );

$url = $soapUrl;
$cookiePath = tempnam('/tmp', 'cookie');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiePath);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_post_string);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

// converting
$response = curl_exec($ch);
curl_close($ch);

echo $response;
5
задан Brad Larson 7 September 2016 в 16:15
поделиться