2016-06-29 8 views
1

Ich sende XML-Anfrage an ebay, aber es hat nichts reagiert. Ich habe jedes Feld wie runame, header und curl überprüft, aber es scheint immer noch keinen Fehler zu geben. Kann jemand dieses Problem lösen?Ebay senden xml Anfrage mit 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

Was passiert, wenn Sie das gleiche XML mit der Befehlszeile curl senden? – Nikem

+0

Es muss eine Möglichkeit geben, mehr Informationen über das Curl-Ergebnis zu erhalten. (HTTP-Code, Header, etc.) Ich schlage vor, zu graben und zu bewerten, was Sie dort finden. –

Antwort

0

ich von mir festgestellt, dass es CURLOPT_SSL_VERIFYPEER auf false gesetzt ist müssen, weil Ebay https vergelten und ich laufe es in localhost, die keine SSL-Zertifizierung haben. Außerdem darf das Array $ headers keine Verknüpfung verwenden.

$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>';