Witam wszystkich mam pytanie o zapytania SOAP
chodzi o zapytanie do ebaya
?xml version="1.0" encoding="utf-8"?>
<AddFixedPriceItemRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken>YOURTOKENHERE</eBayAuthToken>
</RequesterCredentials>
<Item>
<Title>Apple MacBook Pro MB990LL/A 13.3 in. Notebook NEW</Title>
<Description>Brand New Apple MacBook Pro MB990LL/A 13.3 in. Notebook!</Description>
......... itp standard generalnie
generalnie wysyła za pomocą
$request = $client->__soapCall
($apiCall, dsm
(array($Fields)), NULL, $header); //make the actual API call
gdzie fields to tablica w formie
...
'StartPrice'=>$context['node']->field_price['und'][0]['value'],
'ConditionID'=>$context['EbayTemplate']['ConditionID'],
'Country'=>'GB',
...
tworzy to coś takiego
<StartPrice>2</StartPrice>
<ConditionID>Gb</ConditionID>
itd
wszystko śmiga do czasu, gdy niektóre rzeczy np wysyłka sklada się z wiekszej ilość tych samych tagów np aby wysłać 3 formy wysyłki trzeba wysłać
<ShippingServiceOptions>1opcja</ShippingServiceOptions>
<ShippingServiceOptions>2opcja</ShippingServiceOptions>
<ShippingServiceOptions>3opcja</ShippingServiceOptions>
zapytanie wygląda wtedy tak
'ShippingServiceOptions' => opcja1,
'ShippingServiceOptions' => opcja2,
'ShippingServiceOptions' => opcja3,
problem z tym że jak wiadomo array się nadpisuje i wysyła tylko ostatnią
można to ponoć zrobić nie używając array, ale obiektów, przykład z neta
$Names[]=new SoapVar("IAG Group",XSD_STRING,null,null,'names');
$Names[]=new SoapVar("Ticket #",XSD_STRING,null,null,'names');
$BigNames=new SoapVar($Names,SOAP_ENC_OBJECT,null,null,'Names');
$FlexFields=new SoapVar($FF,SOAP_ENC_OBJECT,null,null,'FlexFields');
Co ma ponoć dać
<Names>
<names>IAG Group</names>
<names>Ticket #</names>
</Names>
,
ale coś nie mogę dojść co i jak :/