2012-04-03 10 views
0

最近私が働いている会社は、DotNetOpenAuthを使用して、開発中の特定のWebサービスを利用したいユーザーを承認することに決めました。DotNetOpenAuthの別のサービス契約を使用

私はSOAP Webサービスを稼動していますが、DotNetOpenAuthのOAuthConsumerサンプルとOAuthServiceProviderサンプルも実行しています。 Webサービス、コンシューマー、サービスプロバイダーはすべてIIS7上で動作し、各サイトはそれぞれ独自のサイトにあります。

私の質問は、DotNetOpenAuthのIDataApi datacontractのメソッドではなく、私のwebserviceのdatacontractからメソッドを呼び出すにはどうすればよいですか?

DataApiクラスの新しいバージョンをビルドする必要はありますか?その場合、この新しいクラスは(IDataApiではなく)どのように拡張する必要がありますか?

ありがとうございました!

答えて

1

IDataApiは、単にサンプル中の[ServiceContract]です。代わりにサービスを記述するインタフェースを使用する必要があります。このSOAPサービスはWCFに基づいていますか?その場合は、単にインターフェイスを使用してください。

ではなく、であれば、使用しているフレームワークが認証システムに接続する方法を決定し、おそらく実装をサンプルのものと大きく異なるものにします。しかし、それとDotNetOpenAuthを使用しても動作するはずです。

+0

ありがとうございます、それは私に正しい方向に考えさせましたが、残念ながらまだかなりはありません。このサービスは、実際にはIIS7上で動作するWCFに基づくSOAPサービスです。サービスとサービスプロバイダはポート810で実行され、コンシューマはIIS 7でもポート811で実行されています。コードをローカルでデバッグすると、次のエラーが表示されます。 'アクションは' http: //websrv.hszuyd.nl:810/ITimeTableWebService/getTimeTable 'は無効か、認識できません。'適切なアクションが使用されていることを確認する方法はありますか?または私はこれを間違っているのですか? – Nico

+0

OAuth認証を適用する前にこのエラーが発生していますか?試していない場合は、そこから始めてください。あなたのWCFサービスと消費者をうまく稼働させてから、OAuth認証を適用して、作業の基礎を築きましょう。 –

+0

ああ、それは助けた。まだ完全には機能していませんが、元の問題は解決されています。ありがとうございました! – Nico

関連する問題