ASP.NET 2.0 を使用した WS-I Basic Profile 準拠の Web サービスの構築

このトピックの対象は、レガシ テクノロジに特定されています。XML Web サービスと XML Web サービス クライアントは以下を使用して作成してください。 Windows Communication Foundation.

現在、ASP.NET 2.0 では Web サービス相互運用性グループ (WS-I) Basic Profile (BP) 1.1 仕様をサポートしています。この仕様では、できる限り多くの Web サービス プラットフォームと相互運用するため、Web サービスで実装可能な一連の値の概要を示しています。

WS-I Basic Profile バージョン 1.1

XML Web サービスは、XML や SOAP などの公開仕様を使い、できる限り多くの異なるプラットフォームの Web サービスと相互運用できるように開発されてきました。しかし、仕様のあいまいさや、ベンダーによる実装方法の違いにより、高い相互運用性を持つ Web サービスの開発が遅れていました。

WS-I Basic Profile バージョン 1.1 仕様は、多数のベンダーによる 1 つの試みであり、真に相互運用性がある Web サービスの開発を促進することを目的としています。この仕様ではあいまいさをなくし、仕様に準拠する Web サービスの制限を明確に記述し、Web サービスの設定を多数の選択肢から選択できます。詳細については、WS-I Basic Profile を参照してください。

BP 準拠の Web サービスを構築するには 2 つの手順があります。最初に、Basic Profile に準拠するサービスを定義します。次に、実行時に Basic Profile をサポートするように、このサービスを実装します。たとえば、SOAP 拡張機能は実行時にコントラクトを変更でき、準拠に違反します。

開発者がサービスを確実に BP 準拠にできるように、多くのテスト ツールが用意されています。

BP 準拠 SOAP 1.1 ポートの宣言

ASP.NET 2.0 では、Web サービス クラスに WebServiceBindingAttribute 属性を適用し、ConformsTo プロパティを BasicProfile1_1 に設定することにより、ASP.NET ランタイムに対して、サービスが公開する SOAP 1.1 ポートへの BP 準拠の強制をサポートするように指示できます。開発したコントラクトが BP 準拠ではない場合は、実行時に例外がスローされます。WS-I Basic Profile に準拠したサービスを実装した場合、サービスは BP 準拠となり、任意のプラットフォームにある BP 準拠クライアントで使用できます。

ms230196.note(ja-jp,VS.100).gif注 :
既定では、.NET Framework Version 2.0 を使用して Visual Studio で作成された新しい Web サービスは BP 準拠です。

BP 準拠サービスを記述する Web サービス記述言語 (WSDL: Web Services Description Language) ファイルで BP 準拠の表示を公開するには、EmitConformanceClaims プロパティを true に設定します。EmitConformanceClaims プロパティを false に設定すると、その Web サービスの WSDL では BP 準拠が発行されませんが、SOAP ポートは BP 準拠のままです。WS-I Basic Profile 1.1 仕様では、WSDL で準拠の表示を発行する必要はありません。

WS-I Basic Profile 1.1 仕様に準拠する Web サービスの例については、ASP.NET Web Services QuickStartsBPConformance クイック スタート サンプルを参照してください。

BP 準拠 Web サービスの構築

BP 準拠の SOAP 1.1 ポートの作成と使用は、BP 準拠のサービスの構築の一部に過ぎません。WS-I Basic Profile 1.1 仕様は、相互運用性の向上と引き換えに Web サービス仕様の柔軟性を制限するため、実行時に WS-I Basic Profile 1.1 仕様に準拠しないサービスを構築しないでください。たとえば、サービスでは RPC エンコード スタイルのメッセージを使用できません。詳細な一覧は、「WS-I Basic Profile」の仕様を参照してください。

ASP.NET 2.0 を使用して Web サービスを開発する場合、次のアクションも BP 準拠違反となります。

  • DataSet の使用。

  • SOAP エンベロープでの xml:lang 属性の使用。

  • シリアル化可能な型を定義するときに、新しい Order プロパティの使用に失敗する。

  • RPC/Literal Web サービスで null 値を返す。

参照

その他のリソース

ASP.NET Web Services QuickStarts