Недавно компания, с которой я работаю, решила использовать DotNetOpenAuth для авторизации пользователей, которые хотят использовать определенный веб-сервис, который я разрабатывал.Использование другого контракта на обслуживание для DotNetOpenAuth
Теперь у меня работает веб-сервис SOAP, и у меня также есть образцы OAuthConsumer и OAuthServiceProvider из DotNetOpenAuth. Вебсервис, потребитель и поставщик услуг работают на IIS7, каждый на своем собственном сайте.
Мой вопрос: как я могу вызвать метод из datacontract моего webservice, а не метод из dataконтакта IDataApi от DotNetOpenAuth?
Должен ли я построить новую версию класса DataApi? В этом случае, к чему должен стремиться этот новый класс (а не IDataApi)?
Спасибо!
Спасибо, что заставило меня думать в правильном направлении, но, к сожалению, я еще не совсем там. Служба действительно является SOAP-службой на основе WCF, работающей на IIS7. Поставщик услуг и услуг работает на порту 810, а потребитель также находится на IIS 7, но работает на порту 811. При локальном отладке кода я получаю следующую ошибку: «Сообщение не может быть обработано, потому что действие« http: //websrv.hszuyd.nl:810/ITimeTableWebService/getTimeTable 'является недопустимым или непризнанным.' Есть ли способ проверить, что правильное действие используется? Или я делаю это неправильно? – Nico
Вы получаете эту ошибку перед применением авторизации OAuth? Если вы не пробовали, начните там. Получите вашу службу WCF и работу с потребителем отлично, затем примените авторизацию OAuth, чтобы у вас была основа для работы. –
А, это помогло. Он все еще не полностью работает, но исходная проблема решена. Спасибо! – Nico