【问题标题】:eBay NVP api returning failureeBay NVP api 返回失败
【发布时间】:2011-10-11 11:06:39
【问题描述】:

谁能告诉我为什么这个请求总是返回失败。当我添加 itemFilter(1).name=Seller&itemFilter(1).value(0)=sellerName

时它才开始发生

当我把它拿出来时,它工作正常。我知道当我取回数据时我可以解析出这些信息,但这只是一种解决方法。

http://svcs.ebay.com/services/search/FindingService/v1
?OPERATION-NAME=findCompletedItems
&SERVICE-VERSION=1.0.0
&SECURITY-APPNAME=MY TOKEN HERE
&GLOBAL-ID=EBAY-US
&keywords=iphone+3gs+8gb
&categoryId=9355
&outputSelector=SellerInfo
&itemFilter(0).name=Condition
&itemFilter(0).value(0)=3000
&itemFilter(1).name=Seller
&itemFiler(1).value(0)=sellerName

这是我提出请求时得到的结果:

<?xml version='1.0' encoding='UTF-8'?>
<findCompletedItemsResponse xmlns="http://www.ebay.com/marketplace/search/v1/services">
  <ack>Failure</ack>
  <errorMessage>
    <error>
      <errorId>46</errorId>
      <domain>Marketplace</domain>
      <severity>Error</severity>
      <category>Request</category>
      <message>Value is required for item filter, SELLER.</message>
      <subdomain>Search</subdomain>
      <parameter>SELLER</parameter>
    </error>
  </errorMessage>
  <version>1.11.0</version>
  <timestamp>2011-07-23T00:13:50.689Z</timestamp>
</findCompletedItemsResponse>

它一直告诉我我没有为 itemFilter.name=Seller 设置值。我也尝试了相同的请求,但添加了另一个 itemFilter.value(1)=sellerName2

这是当我尝试该请求时它给我的:

<?xml version='1.0' encoding='UTF-8'?>
<errorMessage xmlns="http://www.ebay.com/marketplace/search/v1/services">
  <error>
    <errorId>5006</errorId>
    <domain>CoreRuntime</domain>
    <severity>Error</severity>
    <category>System</category>
    <message>Unable to create xml stream reader for NV: payload format incorrect or payload is empty</message>
    <subdomain>Comm_Recv</subdomain>
    <parameter name="Param1">NV</parameter>
  </error>
</errorMessage>

【问题讨论】:

    标签: xml soap ebay-api


    【解决方案1】:

    由于您没有对每个项目使用多个值,因此它会失败。您当前的方法只会在每个项目存在多个值时进行评估,因此请尝试以下操作:

    http://svcs.ebay.com/services/search/FindingService/v1
    ?OPERATION-NAME=findCompletedItems
    &SERVICE-VERSION=1.0.0
    &SECURITY-APPNAME=MY TOKEN HERE
    &GLOBAL-ID=EBAY-US
    &keywords=iphone+3gs+8gb
    &categoryId=9355
    &outputSelector=SellerInfo
    &itemFilter(0).name=Condition
    &itemFilter(0).value=3000
    &itemFilter(1).name=Seller
    &itemFiler(1).value=sellerName
    

    大多数程序员在他们的代码中使用诸如 (this) 之类的东西:

         if(is_array($value)) {
            foreach($value as $j => $content) { // Index the key for each value
              $urlfilter .= "&itemFilter($i).$key($j)=$content";
            }
          }
          else {
            if($value != "") {
              $urlfilter .= "&itemFilter($i).$key=$value";
            }
    

    【讨论】:

      【解决方案2】:

      你也可以试试

      $params = http_build_query($your_array)

      在 PHP 中

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多