Windows SharePoint Services Web サービスの紹介

最終更新日: 2010年7月7日

適用対象: SharePoint Foundation 2010

Microsoft.SharePoint.SoapServer 名前空間によって提供される Microsoft SharePoint Foundation Web サービスには、リストやサイト データを操作するメソッドや、会議、イメージング、ドキュメント ワークスペース、または検索をカスタマイズするメソッドなど、Web サイトのコンテンツにアクセスするためメソッドが用意されています。

重要重要

ここで説明しているレガシーな ASP.NET Web サービスを使用するよりも、可能な限り、新しいクライアント側オブジェクト モデルを使用して、SharePoint Foundation データをリモートで操作することをお勧めします。

これらのサービスで使用される SOAP インターフェイスは、クライアントやカスタム アプリケーションからリモートに SharePoint Foundation を操作するソリューションを作成するためのオブジェクト モデルを Microsoft .NET Framework 開発者に提供します。これらのインターフェイスは Microsoft.SharePoint アセンブリのサーバー側オブジェクト モデルによって定義されていて、クライアント コンピューターとサーバー間の往復トランザクション数を減らすように最適化された設計になっています。

ほとんどの Web サービスの機能は、ファイル システムの %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\ISAPI 物理ディレクトリにマッピングされた /_vti_bin 仮想ディレクトリを通じて提供されます。管理 Web サービスでは、%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\ADMISAPI にマッピングされた /_vti_adm 仮想ディレクトリが使用されます。

注意

SharePoint Foundation では、SOAP の特定のバージョンを実装する必要はありません。SharePoint Foundation とのトランザクションにおける SOAP 応答は, .NET Framework によって管理されます。

ASP.NET Web サービスを使用するためのガイドライン

Microsoft Visual Studio でプロジェクト (Windows Forms アプリケーションやコンソール アプリケーション) を作成し、そのアプリケーションから SharePoint Foundation Web サービスを使用して SharePoint サイトやリスト データを操作することができます。プロジェクトの作成後、コードに実装する Web サービスへの参照を設定する必要があります。データを格納するサイトを基準に Web サービスへの完全パスを指定します。

Visual Studio で SharePoint Foundation Web サービスへの参照を追加するには

  1. ソリューション エクスプローラーで [参照] を右クリックし、[サービス参照の追加] をクリックします。

  2. [サービス参照の追加] ダイアログ ボックスで [詳細設定] をクリックし、[サービス参照設定] ダイアログ ボックスで [Web 参照の追加] をクリックします。

  3. [Web 参照の追加] ダイアログ ボックスの [URL] に、Web サービスの絶対 URL を入力します。このパスで指定した Web サイトで Web サービスが利用できるようになります。たとえば、Lists Web サービスへの参照を追加するには、次の形式でパスを指定します。

    http://MyServer/[sites/][MySite/][MySubsite/]_vti_bin/Lists.asmx
    

    管理 Web サービス内でメソッドを使用する場合は、代わりに、管理ポートへのパスを指定し、そのパスで _vti_adm を仮想ディレクトリとして使用します。

    http://MyServer:Port_Number/_vti_adm/Admin.asmx
    

    SharePoint Foundation で提供されている既定の ASP.NET Web サービスの一覧については、「SharePoint Foundation 2010 Web サービス」を参照してください。

  4. Web 参照の名前を入力し、[参照の追加] をクリックします。

サービスをインスタンス化する

コード内で Web サービスをインスタンス化するには、コンストラクターを、Web_Reference.Service_NameServiceInstance = new Web_Reference.Service_Name() のように使用します。Web_Reference は Visual Studio で Web サービスを参照するために使用する名前を表し、Service_Name は Web サービスから呼び出すことができるメソッドを提供するクラスの名前を表します。

ユーザーの資格情報を確立する

アプリケーションが実行されるその時点でのセキュリティ コンテキストのシステム資格情報を設定するには、上記の行の後に次の行を追加します。これで既定の資格情報がシステムの資格情報キャッシュから Web サービスに渡され、コードを実行するユーザーまたはグループが認証されます。

ServiceInstance.Credentials = System.Net.CredentialCache.DefaultCredentials
ServiceInstance.Credentials = System.Net.CredentialCache.DefaultCredentials;

プログラミング タスク

以下の基本的なプログラミング タスクで、SharePoint Foundation が提供している既定の Web サービスの使い方を示します。

[方法] ユーザーをグループに追加する

[方法] リストを返す

[方法] リスト アイテムを返す

[方法] リスト アイテムを更新する

[方法] 会議 Web サービスを使用して会議ワークスペースをカスタマイズする

[方法] 会議ワークスペースから会議を削除する

SharePoint Foundation サーバー側オブジェクト モデルを実装するカスタム ASP.NET Web サービスの作成方法については、「[ウォークスルー] カスタム ASP.NET Web サービスを作成する」を参照してください。オブジェクト モデルを実装するカスタム WCF サービス (SharePoint Foundation で Web サービスを作成するとき推奨されている方法) の作成については、「[チュートリアル] SharePoint Foundation でカスタム WCF サービスの作成と実装を行う」を参照してください。

関連項目

その他の技術情報

SharePoint Foundation 2010 Web サービス