Проблемы с вызовом веб-сервисов с помощью WSDL Importer - PullRequest
0 голосов
/ 22 октября 2019

Я создал приложение, которое вызывает веб-сервис для получения некоторой информации. Это приложение предназначено для работы как на Android, так и на Windows (с использованием фреймворка Firemonkey). Объект, который вызывает веб-сервис, был создан с помощью импортера WSDL и прекрасно работает при запуске приложения в Windows.

Тем не менее, когда я пытаюсь использовать свое приложение на устройстве Android, я могу вызвать веб-сервис только двараз. В третий раз приложение зависает.

Я попытался выполнить некоторую отладку, и кажется, что приложение зависает при попытке вызвать веб-службу:

genEtq := GetIGenerationEtiquettes(); // Converts a THttpRio as a IGenerationEtiquette object
soapattachmnt := genEtq.GetImageEtiquette(idEtiquette); // Calls web service -> freeze on third time
//
// Do something ...
//

Веб-служба размещенана моем компьютере, так что я уверен, что на стороне службы нет проблем. Кроме того, когда я перезапускаю приложение, я все равно могу дважды вызывать веб-службу.

Мое приложение имеет разрешение на доступ к Интернету на моем устройстве Android, поэтому у меня заканчиваются идеи о том, чтопроблема. Также я пытался контролировать сеть (через wireshark) и смог увидеть два первых запроса, но не третий.

У вас есть какие-либо идеи о том, как найти проблему?

1 Ответ

0 голосов
/ 24 октября 2019

Наконец, я нашел ответ, моя ошибка заключалась в том, чтобы каждый раз вызывать функцию GetIGenerationEtiquettes () вместо сохранения полученного объекта.

Теперь я могу вызывать свой веб-сервис так часто, как хочу.

Надеюсь, этот ответ кому-нибудь поможет.

...