Использование веб-сервиса .net с Android

#c# #android #web-services

#c# #Android #веб-сервисы

Вопрос:

Я разрабатываю приложение на Android, я пытаюсь использовать его для подключения к базе данных SQL Server 2005 через веб-сервис.

У меня есть веб-сервис, который обращается к базе данных и тестируется самостоятельно.

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

Я ввожу URL-адрес веб-сервиса в том виде, в каком он отображается на тестовом сервере ASP: private static final String URL = «http://localhost:3068/Service1.asmx «;

Я подозреваю, что это проблема, как симулятор Android узнает, что такое localhost, но как мне это решить?

Ответ №1:

Вам необходимо заменить localhost именем сервера или IP-адресом сервера, к которому вы пытаетесь подключиться.

Ответ №2:

Я предполагаю, что тестовый сервер ASP работает в той же системе, что и база данных, что означает, что вы можете использовать http://localhost:3068/Service1.asmx . Но работает ли ваш Android-симулятор в этой системе или где-то еще. Если где-то еще, вам нужно будет указать полный URL-адрес — что-то вроде http://www.mysqlserver.com:3068/Service1.asmx .

Ответ №3:

Поскольку вы используете Android на виртуальной машине, ‘localhost’ ссылается на фактический IP-адрес виртуальной машины.

Что вам нужно сделать, так это выяснить, какие другие IP-адреса назначены ПК, и использовать их.

Я использовал тот, который предоставляется моей локальной сетью 192.168.x.x . Вы можете узнать, какой у вас, используя ipconfig /all.

Примечание: если вы пытаетесь использовать веб-сервисы SOAP, вы в шоке, потому что они не очень хорошо поддерживаются на Android. Ищите службы «REST» и избавьте себя от проблем.