Find the answer to your question
Advanced Search
Question: I have the following XML Schema request:
<?xml version="1.0" encoding="utf-8"?>
<GeteBayOfficialTimeRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<Version>967</Version>
<RequesterCredentials>
<eBayAuthToken>XXXX</eBayAuthToken>
</RequesterCredentials>
</GeteBayOfficialTimeRequest>
The request is correct, so why I am still getting this error?
<?xml version="1.0" encoding="UTF-8" ?>
<GeteBayOfficialTimesResponse
xmlns="urn:ebay:apis:eBLBaseComponents">
<Timestamp>2022-08-05 12:19:12</Timestamp>
<Ack>Failure</Ack>
<Errors>
<ShortMessage>Unsupported API call.</ShortMessage>
<LongMessage>The API call "GeteBayOfficialTimes" is invalid or not supported in this release.</LongMessage>
<ErrorCode>2</ErrorCode>
<SeverityCode>Error</SeverityCode>
<ErrorClassification>RequestError</ErrorClassification>
</Errors>
<Version>967</Version>
<Build>19110890</Build>
</GeteBayOfficialTimesResponse>
Summary
Answer: Apart from ensuring that the body of the request is correct, you need to ensure that the headers are also set correctly. One common gotcha is that in the header you need to specify the name of the call minus the "Request" phrase. For example, to get the eBay official time, you need to set the header to "GeteBayOfficialTime" and in the request body, the root element needs to be GeteBayOfficialTimeRequest. If you set the header to GeteBayOfficialTimeRequest, you will get the Unsupported API call.
Detailed Description
You need to set the following information in your request header:
- Content-Type
- Version
- DevID
- AppID
- CertID
- CallName
- SiteID
Here is an example of setting the Headers for GeteBayOfficialTime using Javascript:
xmlHttpReq = new XMLHttpRequest();
xmlHttpReq.setRequestHeader('Content-Type','text/xml');
xmlHttpReq.setRequestHeader('X-EBAY-API-COMPATIBILITY-LEVEL','967');
xmlHttpReq.setRequestHeader('X-EBAY-API-DEV-NAME','devid');
.xmlHttpReq.setRequestHeader('X-EBAY-API-APP-NAME','appid');
xmlHttpReq.setRequestHeader('X-EBAY-API-CERT-NAME','certid');
xmlHttpReq.setRequestHeader('X-EBAY-API-CALL-NAME','GeteBayOfficialTime');
xmlHttpReq.setRequestHeader('X-EBAY-API-SITEID','0');
Version Info
The code example above was based on the versions specified below:
API Schema Version | 967 |
How well did this answer your question?
Answers others found helpful
- Error 10012 - Invalid value for header
- How can I log my .NET SOAP requests
- .NET SDK exception '"Client found response content type of 'text/html; charset=iso-8859-1', but expected 'text/xml'"
- Why am I getting a response from version 1131 when I passed lower version in the header?
- Error 2 - Unsupported Verb error for SOAP request