Как отправить запрос и получить ответ асинхронно к веб-сервису .NET с помощью gSOAP2 - PullRequest
0 голосов
/ 19 декабря 2011

У меня есть веб-сервис .NET и клиентская программа, написанная на C ++. Клиентская программа использует gSOAP2 для доступа к веб-службе. Проблема в том, что мне нужно сделать клиентский запрос и получить ответ от сервера асинхронно . Я много читаю по Google, а также читаю руководство пользователя gSOAP в разделе 7.3 и 7.4 , но до сих пор не понимаю, как это сделать. Пожалуйста, помогите мне, если вы знаете.

Большое спасибо,
Tien

1 Ответ

0 голосов
/ 19 декабря 2011

Я не думаю, что gsoap подразумевает под асинхронным то же самое, что и вы, асинхронный клиент gsoap генерирует сообщение, а затем забывает об этом; после прочтения вашего вопроса я понимаю, что вы хотите запустить процесс запроса / ответа SOAP, уйти и сделать что-то еще, а затем вернуться позже или получить уведомление, когда ответ будет возвращен.

Если это так, то я бы посоветовал вам посмотреть на использование потоков, чтобы получить желаемое поведение. Начните новый поток, чтобы сделать вызов, ваш основной поток может быть уведомлен или может проверить, когда вызов завершен. Если вам нужны данные от вызова, то, если бы я делал это, у меня возникло бы желание написать поток, который связывается через пару потоковобезопасных очередей. Одна очередь для отправки запросов в поток и одна для отправки ответов обратно. Таким образом, основной поток записывает в очередь ввода и читает очередь вывода. Если вы ищете здесь C ++ потокобезопасную очередь, вы получите гораздо больше информации.

...