Использование WCF/ Отдых из приложения для Android

Я работал над учебником по адресу http://fszlin.blogspot.com/2010/05/comsuming-wcf-services-with-android.html и у меня возникла проблема. Автор урока не выглядит отзывчивым, поэтому я решил спросить здесь.

У меня есть служба WCF и работает. Если я запускаю тестовое приложение WCF, поставляемое с Visual Studio, я могу получить к нему доступ без проблем. Моя проблема связана с запуском программы из приложения или даже попыткой доступа через браузер, но ничего не возвращается.

Вот что я попробовал:

При установке точки останова в службе WCF и запуске тестового приложения WCF, когда я выполняю вызов, оно достигает точки останова. Имеет смысл.

Размещение URL-адреса в браузере ничего не возвращает (без ошибок, без данных), и точка останова никогда не будет достигнута.

Помещение URL-адреса в приложение Android и запуск его в эмуляторе Android ничего не возвращает (без ошибок, без данных), и точка останова никогда не срабатывает.

Думая, что он может не подключаться из браузера или приложения Android, я вставил в браузер неверный URL (например, изменив его с http://localhost/hello.svc/GetPlates на http://localhost/hellotest.svc/GetPlates) возвращает ошибку, то же самое в приложении Android.

Так что мне кажется, что он правильно работает, просто по какой-то причине не выполняет код. Я понятия не имею, как в дальнейшем проверить это. Разве SOAP-сервисы не должны быть доступны через браузер? Особенно, когда функция в службе, которую вы вызываете, не принимает параметров и только возвращает данные?

Опять же, все это работает в тестовом приложении WCF, просто не может достичь цели окончательного вызова сервиса из приложения Android.

Большое спасибо заранее!

Майк

2 ответа

Решение

Вероятно, вы уже нашли решение, но если вы используете веб-сервер Visual Studio по умолчанию (он же Кассини), причина в том, что он не может принимать удаленные соединения в целях безопасности. Это ограничение встроенного сервера и оно разработано. Вы можете разместить его на пользовательском сервере, выбрав альтернативный переключатель на страницах свойств проекта. Вам, вероятно, понадобится использовать IIS, WAS или хост службы Windows для приема удаленных HTTP-соединений.

Я хотел бы добавить еще одну информацию, основанную на опыте нашей команды.Net. Вы должны удалить "проверку подлинности Windows" из конфигурации перед развертыванием на хост-сервере.

Другие вопросы по тегам