Вопрос, который был задан, заключается в том, что при попытке выполнения SOAP-запроса к сервису eBay Trading API GetSellingManagerSoldListingsRequest через Delphi был получен ответ с ошибкой soapenv:Server.userException. Пользователь столкнулся с двумя основными сценариями: проблема с XML-структурой и ошибка, связанная с неправильной конфигурацией веб-сервиса.
Оригинальный заголовок:
soapenv:Server.userException -> error from eBay Trading API GetSellingManagerSoldListingsRequest
Описание проблемы (вопрос):
Пользователь использовал пример кода для создания SOAP-запроса, но при выполнении запроса получил ошибку, указывающую на проблему с XML-структурой. После обновления кода и попытки использовать песочный сервер (sandbox) eBay, ошибка изменилась на com.ebay.app.pres.service.hosting.WebServiceDisabledException, что указывало на неправильную конфигурацию веб-сервиса.
Примеры кода:
procedure TForm1.Button1Click(Sender: TObject);
var
sSOAP, sXML: String;
sCallName, sSiteID, sVersion, sSaleNo: String;
sResponseBody: TStringStream;
xDoc: IXMLDocument;
begin
// ... (инициализация переменных)
try
// Выполнение запроса и обработка ответа
except
// Обработка исключений
end;
// Убедитесь, что код после try...except выполняется независимо от исключений
finally
sResponseBody.Free;
end;
end;
Подтвержденный ответ:
Проверка XML-структуры: Убедитесь, что SOAP-сообщение сформировано корректно, включая правильные закрывающие теги.
Правильный URL запроса: URL должен соответствовать формату, указанному в документации eBay, например:
https://api.ebay.com/wsapi?callname=GetSellingManagerSoldListings&siteid=15&appid=YourAppId&version=945&routing=default
Правильное имя запроса: В коде должно использоваться sCallName := 'GetSellingManagerSoldListings';, а не GetSellingManagerSoldListingsRequest.
Обработка исключений: Используйте блок try...finally, чтобы обеспечить корректное освобождение ресурсов, например sResponseBody.Free;, даже в случае возникновения исключений.
Альтернативный ответ:
Пользователь получил ценные советы от Vancalar, которые помогли ему исправить ошибки в коде и успешно выполнить запрос.
Заключение:
При работе с SOAP-запросами важно внимательно следить за форматом XML, использовать правильные URL и параметры запроса, а также корректно обрабатывать исключения для предотвращения утечек памяти и других ошибок.
Запрос пользователя связан с исправлением ошибок в SOAP-запросах для eBay Trading API, используя среду разработки Delphi, включая проверку XML-структуры и настройку веб-сервиса.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS