サードパーティがホストする SOAP Web サービスにアクセスするためのクライアントを作成しています。インターフェイスとデータを定義する WSDL と XSD があります。
WSDL からサービス参照を作成する際には問題はありませんでしたが、それを実装する単純な Web サービスを構築する際に問題があり、テストに使用できます。(サードパーティのサービスはまだ準備ができていませんが、実行されていたとしても、彼らのサーバーではなく、自分のテスト サーバーに対して初期テストを行いたいと考えています。)
私はブラウジングしましたが、どうやら svcutil を使用してサービスのインターフェースを生成できるようです:
svcutil.exe thewsdl.wsdl thexsd.xsd /language:c# /out:ITestService.cs
これにより、サービス インターフェイス定義を含むファイルが生成されます。しかし、今は何ですか?
セルフホステッド サービスを構築するのが最も簡単な方法だと考えたので、新しいコンソール アプリを作成し、その中でサービス インターフェイス定義から派生したクラスを実装し、ServiceHost で起動しました。
それが実行され、実行中にクライアント アプリでサービス リファレンスを作成できました。しかし、クライアント アプリから呼び出そうとすると、エラーが発生します。
The provided URI scheme 'http' is invalid; expected 'https'.
これを回避する最も簡単な方法は何ですか? 認証と承認をオフにして、無制限のアクセスを許可する簡単な方法はありますか?
編集:
元の質問が注目されていないように見えるので、これに報奨金を追加します。
しかし、核心に行きましょう。顧客の SOAP サービスに対してクライアントを作成しようとしています。開発の一環として、同じ WSDL を実装する独自のテスト WCF サービスを作成したいと考えています。
ダウンロードした .wsdl ファイルと関連する .xsd ファイルがあり、それらを使用して、VS2010 のデバッガーでテストできるサービスを作成したいと考えています。
このサービスがスタンドアロンで実行されるか、IIS 内で実行されるか、または運用が安定しているかどうかは、私にとって重要ではありません。私が必要としているのは、顧客のサイトが受け入れる要求を受け入れ、要求の処理をテストするために、返す必要がある応答をクライアントに返すサービスだけです。
どうやってそこまで行くの?WCF サービス ライブラリを追加してから、その中で svcutil.exe を使用して新しいサービスを追加しようとしましたが、app.config にサーバー側のボイラープレートが設定されていないようで、それを再構築しようとすると失敗しましたうまくいきませんでした。