You are passing in both the headers and xml into the request's payload. The headers should be passed in via their own field. The updated code below should work for you.
function GetTime() {
var site = 'https://api.ebay.com/ws/api.dll';
var xml = '<?xml version="1.0" encoding="utf-"?> \
<GeteBayOfficialTimeRequest xmlns="urn:ebay:apis:eBLBaseComponents"> \
<RequesterCredentials> \
<eBayAuthToken>*********</eBayAuthToken> \
</RequesterCredentials> \
</GeteBayOfficialTimeRequest>';
var headers = {
'Content-Type': 'text/xml',
'X-EBAY-API-SITEID': '0',
'X-EBAY-API-COMPATIBILITY-LEVEL': '861',
'X-EBAY-API-CALL-NAME': 'GeteBayOfficialTime'
};
var options = {
method: 'POST',
headers: headers,
payload: xml
};
var response = UrlFetchApp.fetch(site, options);
var xml = response.getContentText();
};