Использование службы WCF с Monotouch через SSL (https) + basicHttpBinding - PullRequest
4 голосов
/ 27 сентября 2010

В настоящее время я пишу приложение для iphone, которое будет использовать службы WCF через безопасное соединение (SSL / https).Мне удалось использовать этот сервис при локальном тестировании через http.

Теперь мы хотим убедиться, что служба безопасна, поэтому мы настроили сервер UAT с надлежащим образом подписанным сертификатом для запуска наших тестов.

Мы используем пользовательскую привязку в сочетании с режимом безопасности TransportWithMessageCredentials, который требует имя пользователя / пароль в свойстве ClientCredentials.

Сгенерирован прокси с использованием SISvcUtil.exe

Когда я пытаюсь вызвать этот защищенный сервис с iPhone, я получаю довольно приятную общую ошибку:

Exception in async operation: System.Net.WebException: There was an error on processing web request: Status code 500(internal server error) ( Вот пастбин полного исключения ).

Я пытался неявно принять сертификат, используя: ServicePointManager.ServerCertificateValidationCallBack = (sender, cert, chain, ssl) => true;, но это просто возвращает ту же ошибку 500.

Тот же код отлично работает на машине с Windows, но не на iphone.Кто-нибудь еще сталкивался с этой проблемой и / или знает решение этой проблемы?

Ответы [ 3 ]

1 голос
/ 27 октября 2010

Таким образом, на момент написания статьи Monotouch не очень хорошо поддерживает WCF (в настоящее время он имеет базовую реализацию).

В связи с этим и необходимостью обеспечения достойной безопасности для нашего веб-сервисамы решили пойти другим путем;проверка пользователя через имя пользователя + пароль через безопасное, зашифрованное соединение SSL при каждом вызове веб-службы.Мы используем Silverlight 3.0 SiSUtil.exe для создания привязок для веб-сервиса, а не для включения его в качестве веб-ссылки в проект.

1 голос
/ 27 сентября 2010

Это может быть ошибка в monotouch, возможно, она не имеет полной реализации сгенерированного прокси с использованием SISvcUtil.exe, вы пытались сгенерировать приложение mac и протестировать его на mac?

Есть ли в monotouch какой-либо задокументированный примерс поддержкой прокси WCF?Если они не имеют, то, вероятно, это может не сработать, monotouch не обеспечивает среду выполнения .NET, вместо этого он фактически компилирует все в собственный двоичный файл ios.Поэтому, если прокси WCF преобразован неправильно, он не будет работать.

0 голосов
/ 27 сентября 2010

Обычно при получении внутренних ошибок сервера я обнаружил причину проблемы с заголовками HTTP, отправляемыми в запросе. Я не использую WCF на MonoTouch, поэтому не уверен насчет реализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...