2016-06-29 3 views
1

Я отправляю запрос xml на ebay, но ничего не ответил. Я проверил каждое поле, как runame, заголовок и завиток, но все равно не кажутся ошибкой. Может ли кто-нибудь решить эту проблему?Ebay отправить запрос xml с помощью curl

$runame = "Th_c_L__B_-ThcLB-SynEbay-S-swfednxx"; 
$xml = '<?xml version="1.0" encoding="utf-8"?>'. 
     '<GetSessionIDRequest xmlns="urn:ebay:apis:eBLBaseComponents">'. 
       '<RuName>'.$runame.'</RuName>'. 
     '</GetSessionIDRequest>'; 

$headers = array(
      'Content-Type' => 'text/xml', 
      'X-EBAY-API-COMPATIBILITY-LEVEL' => '889', 
      'X-EBAY-API-DEV-NAME' => $devId, 
      'X-EBAY-API-APP-NAME' => $appId, 
      'X-EBAY-API-CERT-NAME' => $certId, 
      'X-EBAY-API-SITEID' => '0', 
      'X-EBAY-API-CALL-NAME' => 'GetSessionID' 
    ); 

    $url = 'https://api.sandbox.ebay.com/ws/api.dll'; 

    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);   
    curl_setopt($ch, CURLOPT_TIMEOUT, 400); 

    $result = curl_exec($ch); 

    curl_close($ch); 


    echo '<pre>'; 
    print_r($result); 
    echo '</pre>'; 
+1

Что происходит, когда вы отправляете один и тот же XML с завитой командной строки? – Nikem

+0

Должен быть какой-то способ получить дополнительную информацию о результате скручивания? (HTTP-код, заголовки и т. Д.) Я предлагаю копать и оценивать то, что вы там найдете. –

ответ

0

я нашел себя, что это нужно установить CURLOPT_SSL_VERIFYPEER ложь, потому что Ebay воздавать по протоколу HTTPS, и я запустить его в локальном хосте, которые не имеют сертификата SSL. Кроме того, массив $ headers НЕ ДОЛЖЕН использовать ассоциацию.

$runame = "Th_c_L__B_-ThcLB-SynEbay-S-swfednxx"; 
$xml = '<?xml version="1.0" encoding="utf-8"?>'. 
     '<GetSessionIDRequest xmlns="urn:ebay:apis:eBLBaseComponents">'. 
      '<RuName>'.$runame.'</RuName>'. 
     '</GetSessionIDRequest>'; 

$headers = array(
      'Content-Type: text/xml', 
      'X-EBAY-API-COMPATIBILITY-LEVEL: 911', 
      'X-EBAY-API-DEV-NAME: ' . $this->devId, 
      'X-EBAY-API-APP-NAME: ' . $this->appId, 
      'X-EBAY-API-CERT-NAME: '. $this->certId, 
      'X-EBAY-API-SITEID: 0', 
      'X-EBAY-API-CALL-NAME: GetSessionID' 
); 

$url = 'https://api.sandbox.ebay.com/ws/api.dll'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);   
curl_setopt($ch, CURLOPT_TIMEOUT, 400); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 

$result = curl_exec($ch); 

curl_close($ch); 


echo '<pre>'; 
print_r($result); 
echo '</pre>'; 
Смежные вопросы