I am attempting to do a HTTP POST
to retrieve order data from Ebays Trading API. I am somewhat new to this – as you may see. I first used their API Test Tool and was successful getting my actual order data via the Production environment.
I copied the HTTP header info and XML Requestion section, put that in a file, along with what I thought would make it a valid HTTP Post, and then used the Curl executable – called via a batch file.
This did not work – so I changed to a simpler request – GeteBayTime – and got the exact same results.
My batch file is … (all one line)
Curl -X POST --header "Content-Type:text/xml" -d @postfile https://api.ebay.com/ws/api.dll > out.xml
The postfile is …
POST / HTTP/1.1
Host: https://api.ebay.com/ws/api.dll
User-Agent: App v1.0
Connection: Keep Alive
Content-Length: 125
Content-Type: text/xml
X-EBAY-API-APP-ID:***-MyReal-APP-ID-here***
X-EBAY-API-VERSION:807
X-EBAY-API-COMPATIBILITY-LEVEL:707
X-EBAY-API-SITE-ID:0
X-EBAY-API-CALL-NAME:GeteBayTime
X-EBAY-API-REQUEST-ENCODING:XML
<?xml version="1.0" encoding="utf-8"?>
<GeteBayTimeRequest xmlns="urn:ebay:apis:eBLBaseComponents">
</GeteBayTimeRequest>
And the result (in out.xml) is …
<?xml version="1.0" encoding="UTF-8"?>
-<GeteBayOfficialTimeResponse xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2013-02-04 02:56:43</Timestamp><Ack>Failure</Ack>-<Errors>
<ShortMessage>Unsupported API call.</ShortMessage><LongMessage>The API call
"GeteBayOfficialTime" is invalid or not supported in this release.</LongMessage>
<ErrorCode>2</ErrorCode><SeverityCode>Error</SeverityCode>
<ErrorClassification>RequestError</ErrorClassification></Errors><Build>15743293</Build>
</GeteBayOfficialTimeResponse
Can anyone spot my problem(s) ??
2
Answers
only request body must be in data –
this values must be in header –
I have the solution – I spend some time to find the right way:
Postfile: