2015-06-29 2 views
3

Я пытаюсь понять, почему мой GetOrders Функция для eBay API не работает. Ниже приведены заголовки я передаю (это в Perl):eBay API - GerOrders

$objHeader->push_header('X-EBAY-API-COMPATIBILITY-LEVEL' => $compatabilityLevel); 
$objHeader->push_header('X-EBAY-API-DEV-NAME' => $devID); 
$objHeader->push_header('X-EBAY-API-APP-NAME' => $appID); 
$objHeader->push_header('X-EBAY-API-CERT-NAME' => $certID); 
$objHeader->push_header('X-EBAY-API-CALL-NAME' => 'GetOrders'); 
$objHeader->push_header('X-EBAY-API-SITEID' => '3'); 
$objHeader->push_header('Content-Type' => 'text/xml'); 

... и XML я передаю следующим образом:

<?xml version="1.0" encoding="utf-8" ?> 
    <GetOrdersRequest xmlns="urn:ebay:apis:eBLBaseComponents"> 
    <DetailLevel>ReturnAll</DetailLevel> 
    <NumberOfDays>3</NumberOfDays> 
    <OrderRole>Seller</OrderRole><OrderStatus>Active</OrderStatus> 
    <RequesterCredentials><eBayAuthToken>$userToken</eBayAuthToken></RequesterCredentials> 
    </GetOrdersRequest> 

(очевидно $ userToken заменяется моим фактическим маркером пользователя)

я получить отдачу от него:

$VAR1 = { 
      'xmlns' => 'urn:ebay:apis:eBLBaseComponents', 
      'Build' => 'E929_CORE_APIXO_17568878_R1', 
      'PageNumber' => '1', 
      'PaginationResult' => { 
           'TotalNumberOfPages' => '0', 
           'TotalNumberOfEntries' => '0' 
           }, 
      'OrderArray' => {}, 
      'Ack' => 'Success', 
      'HasMoreOrders' => 'false', 
      'Timestamp' => '2015-06-29T09:49:25.963Z', 
      'Version' => '929', 
      'ReturnedOrderCountActual' => '0', 
      'OrdersPerPage' => '100' 
     }; 

.. но как видите, результатов не найдено. Я знаю, что есть результаты (я работал с PHP API уже с использованием тех же самых значений, насколько я могу сказать). В худшем случае я мог бы создать базовый PHP-скрипт, чтобы захватить результаты, а затем подключиться к скрипту Perl. Очевидно, что это не идеально, хотя (я бы предпочел все это на одном языке программирования)

У кого-нибудь есть идеи? Я рисую пробел на нем:/

ответ

2

Хорошо, я знал, что это произойдет. 2 дня борется с этим, а затем, как только я выкладываю что-то - я нахожу решение :)

Проблема в том, что я проходил следующий в XML:

<OrderStatus>Active</OrderStatus>

Это в факт должен был быть:

<OrderStatus>Completed</OrderStatus>

что теперь захватывая их отлично :)

+2

Часто путь - часть про вопрос о постановке вопроса часто будет расшатывать новое понимание. но спасибо, что нашли время, чтобы опубликовать ответ. – Sobrique