首页 文章

eBay Trading API:通过SOAP传递具有相同名称的元素

提问于
浏览
0

我需要通过SOAP传递多个NameValueLists,但我不知道如何包含他们的数据 .

这应该是什么样子:

<Variations>
      <VariationSpecificsSet>
        <NameValueList>
          <Name>Size</Name>
          <Value>XL</Value>
        </NameValueList>
        <NameValueList>
          <Name>Color</Name>
          <Value>Black</Value>
        </NameValueList>
    </VariationSpecificsSet>
</Variations>

我的部分PHP代码:

$params->Item->Variations = new ArrayObject();
$params->Item->Variations->VariationSpecificsSet = new ArrayObject();
$params->Item->Variations->VariationSpecificsSet->NameValueList = new ArrayObject();

$list = new ArrayObject();
$list->name = 'title';
$list->value = "value";
$arr[0] = $list;
$arr[1] = $list;

$params->Item->Variations->VariationSpecificsSet->NameValueList = $arr;
$ebay->ebayCall( "VerifyAddFixedPriceItem", $params );

$ params的调试输出:

[Variations] => ArrayObject Object
    (
        [VariationSpecificsSet] => ArrayObject Object
            (
                [NameValueList] => Array
                    (
                        [0] => ArrayObject Object
                            (
                                [name] => title
                                [value] => value
                                [storage:ArrayObject:private] => Array
                                    (
                                    )

                            )

                        [1] => ArrayObject Object
                            (
                                [name] => title
                                [value] => value
                                [storage:ArrayObject:private] => Array
                                    (
                                    )

                            )

                        [2] => ArrayObject Object
                            (
                                [name] => title
                                [value] => value
                                [storage:ArrayObject:private] => Array
                                    (
                                    )

                            )

                    )

                [storage:ArrayObject:private] => Array
                    (
                    )

            )

        [storage:ArrayObject:private] => Array
            (
            )

    )

生成的请求:没有名称,NameValueLists中也没有值

<ns1:Variations>
    <ns1:VariationSpecificsSet>
        <ns1:NameValueList/>
        <ns1:NameValueList/>
        <ns1:NameValueList/>
    </ns1:VariationSpecificsSet>
</ns1:Variations>

如何在NameValueLists中正确放置数据?调试输出对我来说似乎很好,但它不会出现在xml中 . 我不能成为第一个..?

Edit :我在SO上发现了一个问题来描述我的问题:Php soap client multiple node我在问这里之前试过这种方法,但它仍然不适合我 . 我猜,它与eBay wsdl有关,但我无法弄清楚到底是什么

1 回答

  • 1

    缺少大写字母 $list->name$list->value 就是答案 . 希望有时能帮助别人 . 哎呀

相关问题