Skip to main content
Published: May 17 2007, 7:32:00 PMUpdated: November 28 2020, 3:44:57 PM

I have a version indicated in my SOAP URL which works fine for other calls such as AddItem.
Why is the GetCategories call still returning the following error?

<?xml version="1.0" encoding="UTF-8" ?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Body>
   <soapenv:Fault>
     <faultcode xmlns:ns1="http://xml.apache.org/axis/">ns1:Client</faultcode>
     <faultstring>Error. Client Schema Version incompatible.</faultstring>
     <faultactor>http://www.ebay.com/ws/websvc/eBayAPI</faultactor>
     <detail>
       <FaultDetail>
         <ErrorCode>14004</ErrorCode>
         <Severity>Error</Severity>
         <DetailedMessage>Error. Client Schema Version incompatible. Client Schema Version: null. Minimum eBay Schema Version supported: 347.</DetailedMessage>
       </FaultDetail>
     </detail>
   </soapenv:Fault>
 </soapenv:Body>
</soapenv:Envelope>




Version is required in the request XML of a SOAP GetCategories call

Summary

The SOAP GetCategories call requires a Version element in the request.
This is unlike the Schema XML GetCategories call, and other SOAP API calls which do not require a Version element in the request.


Detailed Description

Here is the correct XML to use in a SOAP GetCategories call.

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <soapenv:Header>
   <RequesterCredentials soapenv:mustUnderstand="0" xmlns="urn:ebay:apis:eBLBaseComponents">
     <ebl:eBayAuthToken xmlns:ebl="urn:ebay:apis:eBLBaseComponents">token</ebl:eBayAuthToken>
  </RequesterCredentials>
 </soapenv:Header>
 <soapenv:Body>
   <GetCategoriesRequest xmlns="urn:ebay:apis:eBLBaseComponents">
     <Version>513</Version>
     <ViewAllNodes>true</ViewAllNodes>
     <DetailLevel>ReturnAll</DetailLevel>
   </GetCategoriesRequest>
 </soapenv:Body>
</soapenv:Envelope>

Note the Version element is included in the request.
As a SOAP best practice, please include the Version element in the body of all API calls.



Additional Resources

How well did this answer your question?
Answers others found helpful