Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerMicrosoft SharePoint 2010 Connector v1.0
2020 年 10 月の時点で、Microsoft は Sharepoint 2010 のサポートの提供を停止しています。詳細は、 この記事 |
Sharepoint インテグレーションのニーズに対応できるように、次の Anypoint Connector は引き続き MulseSoft でサポートされます。
Sharepoint Connector - Mule 4
Sharepoint Online Connector - Mule 3
Sharepoint 2013 Connector - Mule 3
SharePoint On-Premise Connector - Mule 3
Microsoft SharePoint 2010 用 Anypoint Connector (SharePoint 2010 Connector) は、コンテンツとドキュメントの管理、イントラネットポータル、コラボレーション、エクストラネット、Web サイト、およびエンタープライズ検索用の Web アプリケーションプラットフォームです。このコネクタを使用すると、SOAP API を介した SharePoint 2010 とのインテグレーションが可能になります。
リストおよびリスト項目の API: リストおよびリスト項目の Create、Delete、Retrieve、Update
ファイルおよびフォルダーの API: フォルダーの Create、Delete、Retrieve。ファイルの Add、Retrieve content、Retrieve metadata、Delete、Check out、Undo check out、Check in、Publish、Unpublish、Approve、Deny、Copy
Studio プロジェクトを Maven 化する場合、プロジェクトの pom.xml ファイルでこの情報を使用できます。
<dependency>
<groupId>org.mule.modules</groupId>
<artifactId>mule-module-sharepoint-2010</artifactId>
<version>x.x.x</version>
<classifier>mule-plugin</classifier>
</dependency>
xml
x.x.x
を使用しているコネクタに対応するバージョンに置き換えます。
最新の pom.xml
ファイル情報を取得するには、 Anypoint Exchange でコネクタにアクセスし、[Dependency Snippets (連動関係スニペット)] をクリックします。
Anypoint Studio で、Studio タスクバーの Exchange アイコンをクリックします。
Anypoint Exchange で [Login (ログイン)] をクリックします。
コネクタを検索して [Install (インストール)] をクリックします。
画面の指示に従ってコネクタをインストールします。
Anypoint Studio が起動したら、新しいプロジェクトを作成します。
メニューから [File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)] を選択します。
[New Mule Project (新規 Mule プロジェクト)] ウィンドウで、[Project Name (プロジェクト名)] として「sharepoint2010-demo」を入力します。
[Finish (完了)] をクリックします。
SharePoint 2010 インスタンスに接続するようにコネクタを設定します。
[Global Elements (グローバル要素)] タブをクリックします。
[Create (作成)] をクリックして、[Global Type (グローバル種別)] ダイアログボックスを表示します。
[Filter (検索条件)] テキストボックスに「sha」と入力します。
[Microsoft SharePoint 2010] を選択して [OK] をクリックします。
必須パラメーターを入力します。詳細は、接続設定を参照してください。
[Test Connection (接続をテスト)] をクリックして、正しく接続されることを確認します。
正常に接続できたら、[OK] をクリックします。
「共有ドキュメント」リストを照会するための Mule フローを作成します。
Mule フローを作成する手順は、次のとおりです。
[Message Flow (メッセージフロー)] タブをクリックします。
「http」を検索し、HTTP Connector をキャンバスにドラッグします。これにより、新しいフローが作成されます。
「sharepoint」を検索し、[Microsoft SharePoint 2010] を HTTP Connector の横の [Process (プロセス)] 領域にドラッグします。
「json」を検索し、[Object to JSON] トランスフォーマーを [Microsoft SharePoint 2010] の横にドラッグします。
HTTP Connector をダブルクリックします。[Connector Configuration (コネクタ設定)] リストの横にある [+] をクリックします。
[HTTP Listener Configuration (HTTP リスナー設定)] ウィンドウで、[Protocol (プロトコル)] を [HTTP] に設定し、[Host (ホスト)] を [All Interfaces [0.0.0.0] (Default) (すべてのインターフェース [0.0.0.0] (デフォルト))] に設定し、[Port (ポート)] を [8081] に設定します。[OK] をクリックします。
[Basic Settings (基本設定)] の下で、[Path (パス)] を [/query] に設定します。
[Microsoft Dynamics SharePoint 2010] をダブルクリックして、次の設定値を更新します。
[Connector Configuration (コネクタ設定)] リストで、以前に作成した [Microsoft SharePoint 2010] 設定を選択します。
[Operation (操作)] リストから、[List Item query (リスト項目クエリ)] を選択します。
[Language (言語)] リストから、[DataSense Query Language (DataSense クエリ言語)] を選択します。
[Query Builder… (クエリビルダー…)] をクリックします。
[Types (種別)] のリストから、[Shared Documents (共有ドキュメント)] を選択します。
[Fields (項目)] のリストから、[ID] と [Title (タイトル)] を選択します。
[Order By (並び替え基準)] リストから、[Title (タイトル)] を選択します。
[Direction (方向)] リストから、[DESCENDING (降順)] を選択します。
[OK] をクリックします。
Package Explorer で [sharepoint2010-demo] を右クリックし、[Run As (別のユーザーとして実行)] > [Mule Application (Mule アプリケーション)] を選択します。
アプリケーションの起動時にコンソールを確認します。エラーが発生していない場合、「DEPLOYED」メッセージが表示されます。
ブラウザーを開き、http://localhost:8081/query
に移動します。
ファイル名の降順で並び替えられたドキュメントのリストが JSON 形式で返されます (結果は SharePoint インスタンスに応じて異なります)。
[{"_ModerationStatus":"0","Editor":{"id":"8","lookUpListName":"User Information List"},"MetaInfo":"vti_parserversion:SR|14.0.0.7015\r\nvti_modifiedby:SR|i:0#.w|mule\\\\muletest\r\nListOneRef:IW|1\r\nvti_folderitemcount:IR|0\r\nvti_foldersubfolderitemcount:IR|0\r\nContentTypeId:SW|0x01010003DD4D13EF6C8446AB329E6FC42FE7BE\r\nvti_title:SW|\r\nvti_author:SR|i:0#.w|mule\\\\muletest\r\n","owshiddenversion":"2","lookUpListName":"Shared Documents","FileLeafRef":"error.txt","UniqueId":"{F0F6C9B9-6942-4866-B254-063EE8B70D59}","_Level":"1","PermMask":"0x7fffffffffffffff","ProgId":"","Last_x0020_Modified":"2015-04-09 16:21:35","Modified":"2015-04-09 16:21:20","DocIcon":"txt","ID":"1","FSObjType":"0","Created_x0020_Date":"2015-04-09 14:57:18","FileRef":"Shared Documents/error.txt"}]
text
Microsoft SharePoint 2010 Connector では、次の認証スキームがサポートされます。
NTLM Authentication
Kerberos 認証
クレームベース認証
NTLM 認証スキームには次のパラメーターがあります。
パラメーター | 説明 |
---|---|
Username (ユーザー名) |
認証するユーザー。 |
Password (パスワード) |
認証するユーザーのパスワード。 |
Domain (ドメイン) |
SharePoint インスタンスのドメイン。 |
Site URL (サイト URL) |
Microsoft SharePoint サイトへのパス ( |
Disable Cn Check (Cn チェックを無効化) |
HTTPS 証明書を処理するとき、証明書に信頼するパートナーの署名がない場合、サーバーから例外が返されることがあります。これを防止するために、CN (一般名) チェックを無効にすることができます。注意: 本番環境では推奨されません。 |
Kerberos 認証スキームには次のパラメーターがあります。
パラメーター | 説明 |
---|---|
Username (ユーザー名) |
認証するユーザー。 |
Password (パスワード) |
認証するユーザーのパスワード。 |
Domain (ドメイン) |
SharePoint インスタンスのドメイン。 |
Site URL (サイト URL) |
Microsoft SharePoint サイトへのパス ( |
Disable Cn Check (Cn チェックを無効化) |
HTTPS 証明書を処理するとき、証明書に信頼するパートナーの署名がない場合、サーバーから例外が返されることがあります。これを防止するために、CN (一般名) チェックを無効にすることができます。注意: 本番環境では推奨されません。 |
Service Principal Name (SPN) (サービスプリンシパル名 (SPN)) |
SPN は「host/SERVER-NAME.MYREALM.COM」のようになります。 |
Realm (レルム) |
ユーザーが属するドメイン。この値は大文字と小文字が区別されます。Active Directory で定義されたとおりに正確に指定する必要があります。 |
KDC |
通常、これはドメインコントローラー (サーバー名または IP) です。 |
環境が複雑であり、詳細な設定が必要な場合は、Kerberos 設定ファイルを手動で作成し、コネクタの接続設定で参照する必要があります。
高度なシナリオでは次のパラメーターを使用できます。
Login Properties File Path (ログインプロパティファイルパス): カスタマイズされたログインプロパティファイルへのパス。Kerberos ログインモジュール (Krb5LoginModule) は、シナリオ固有の設定を使用し、JAAS ログイン設定ファイルを定義して調整できます。指定しないと、通常であればほとんどのケースで機能するデフォルト値がセットアップされます。このプロパティを設定するための 2 つのオプションがあります。
ファイルをクラスパス (通常は src/main/resources
の下) に配置して、プロパティの値を classpath:jaas.conf
に設定します。
C:\kerberos\jaas.conf
のようにファイルへのフルパスを指定します。
Kerberos Properties File path (Kerberos プロパティファイルパス): カスタマイズされた Kerberos プロパティファイルへのパス。このプロパティを設定するための 2 つのオプションがあります。
ファイルをクラスパス (通常は src/main/resources
の下) に配置して、プロパティの値を classpath:krb5.conf
に設定します。
C:\kerberos\krb5.conf
のようにファイルへのフルパスを指定します。
以下は、Kerberos ログインモジュールの JAAS ログイン設定ファイルのサンプルです。
Kerberos { com.sun.security.auth.module.Krb5LoginModule required debug=true refreshKrb5Config=true; };
Kerberos ログインモジュールの JAAS ログイン設定ファイルの作成方法についての詳細は、 「Krb5LoginModule」を参照してください。
Kerberos 設定ファイルのコンテンツの例を次に示します。
[libdefaults]default_realm = MYREALM.COM[realms]MYREALM.COM = { kdc = mydomaincontroller.myrealm.com default_domain = MYREALM.COM}[domain_realm].myrealm.com = MYREALM.COMmyrealm.com = MYREALM.COM
重要: realm と default_domain は大文字と小文字が区別されます。Active Directory で定義されたとおりに正確に指定する必要があります。接続のテスト中に受信する「Message stream modified (41) (メッセージストリームが変更されました (41))」というエラーは、ドメイン名の形式が正しくないことを示しています。
Kerberos 設定ファイルの作成方法についての詳細は、 「krb5_conf」を参照してください。
クレームベース認証スキームには次のパラメーターがあります。
パラメーター | 説明 |
---|---|
Username (ユーザー名) |
認証するユーザー。 |
Password (パスワード) |
認証するユーザーのパスワード。 |
Domain (ドメイン) |
SharePoint インスタンスのドメイン。 |
Site URL (サイト URL) |
Microsoft SharePoint サイトへのパス ( |
Security Token Service URL (STS URL) (セキュリティトークンサービス URL (STS URL)) |
ユーザーを認証するためのユーザー名とパスワードを受け入れて WS-Trust 1.3 プロトコルを理解する STS エンドポイント。STS が Microsoft の ADFS (Active Directory フェデレーションサービス) の場合、通常、この URL は次のようになります: |
Security Token Service (STS) App Identifier (Scope) (セキュリティトークンサービス (STS) アプリケーション識別子 (スコープ)) |
この文字列は STS 内の SharePoint サイトを識別します。これは、依存パーティ ID、クライアント ID、スコープ、または領域とも呼ばれます。STS が Microsoft の ADFS の場合、この値を AD FS 管理コンソールの [AD FS] > [Trust Relationships (信頼関係)] > [Relying Party Trusts (証明書利用者信頼)] > (Sharepoint サイトの証明書利用者プロパティ) > [Identifiers (識別子)] タブで見つけることができます。 |
Disable Cn Check (Cn チェックを無効化) |
HTTPS 証明書を処理するとき、証明書に信頼するパートナーの署名がない場合、サーバーから例外が返されることがあります。これを防止するために、CN (一般名) チェックを無効にすることができます。注意: 本番環境では推奨されません。 |
注意: STS アプリケーション識別子は、Web ブラウザーでサイト URL を開くことでアクセスする SharePoint サイトにログインして取得できます。サイトで複数の認証プロバイダーが設定されている場合、ドロップダウンにいくつかのオプションが表示されます。目的の STS を選択すると、STS のログインページにリダイレクトされます。この時点で、Web ブラウザーのアドレスバーには、クエリパラメーター wa=wsignin1.0&wtrealm=uri%3amule%3asp80
を含む URL が含まれます。パラメーター wa は、サインインが開始されていることを STS に伝えます。wtrealm
には、URL エンコードされた値の STS アプリケーション識別子が含まれます。この例では、uri%3amule%3asp80
は uri:mule:sp80
です。エンコードされていない値は、コネクタの設定用のパラメーターです。
SAML セキュリティトークンを使用して、SharePoint にログインできます。POST 要求を介して XML 本文を提供することで、Studio の [Security Token (セキュリティトークン)] 項目に入力したセキュリティトークンを取得することができます。
セキュリティトークンを取得するには、次の XML 本文で https://login.microsoftonline.com/extSTS.srf
に POST 要求を実行します。
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <s:Header> <a:Action s:mustUnderstand="1">http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue</a:Action> <a:ReplyTo> <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address> </a:ReplyTo> <a:To s:mustUnderstand="1">https://login.microsoftonline.com/extSTS.srf</a:To> <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <o:UsernameToken> <o:Username>[username]</o:Username> <o:Password>[password]</o:Password> </o:UsernameToken> </o:Security> </s:Header> <s:Body> <t:RequestSecurityToken xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust"> <wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> <a:EndpointReference> <a:Address>[endpoint]</a:Address> </a:EndpointReference> </wsp:AppliesTo> <t:KeyType>http://schemas.xmlsoap.org/ws/2005/05/identity/NoProofKey</t:KeyType> <t:RequestType>http://schemas.xmlsoap.org/ws/2005/02/trust/Issue</t:RequestType> <t:TokenType>urn:oasis:names:tc:SAML:1.0:assertion</t:TokenType> </t:RequestSecurityToken> </s:Body> </s:Envelope>
text
この要求の応答の <wsse:BinarySecurityToken> タグの間にセキュリティトークンが含まれます。
セキュリティトークンを取得したら、Studio でトークン値を指定します。
Security token (セキュリティトークン): 取得したセキュリティトークンを入力します。
Site URL (サイト URL): SharePoint サイトの URL を入力します。
List Create
指定された名前、説明、およびリストテンプレート ID に基づいて現在のサイトにリストを作成します。
List Get
指定されたリストのスキーマを返します。
List Get All
すべての SharePoint リストを取得します。
List Delete
指定されたリストを削除します。
List Update
指定されたリストプロパティに基づいてリストを更新します。
List Item Create
既存の SharePoint リスト内で新しい項目を作成します。
List Item Delete
SharePoint リストから項目を削除します。
List Item Update
SharePoint リストの項目を更新します。
List Item Query
SharePoint リストに対してクエリを実行し、指定条件と一致するリスト項目を返します。
選択した項目に加えて、次の項目が常に返されます。
Created: 項目の作成日
FileRef: ドキュメントまたは写真ライブラリの場合、ファイルの相対 URL。
FSObjType
_Level
MetaInfo
_ModerationStatus
モデレーションが有効になっているライブラリにファイルが属している場合、ファイルのモデレーション状況。
Modified: 項目の変更日
PermMask
showshiddenversion
UniqueId
Folder Create
ドキュメントまたは写真ライブラリにフォルダーを作成します。
Folder Delete
ドキュメントまたは写真ライブラリからフォルダーを削除します。
Folder Query
指定条件と一致するすべてのフォルダーを取得します。
選択した項目に加えて、次の項目が常に返されます。
Created: 項目の作成日
Created_x0020_Date
Editor: ユーザー
FileLeafRef: フォルダーの名前
FileRef: フォルダーの相対 URL
FSObjType
Last_x0020_Modified*
_Level
MetaInfo
_ModerationStatus
モデレーションが有効になっているライブラリにファイルが属している場合、ファイルのモデレーション状況。
Modified: 項目の変更日
PermMask
ProgId
showshiddenversion
UniqueId
File Add
ドキュメントまたは写真ライブラリにファイルを追加します。
File Get Content
ファイルのコンテンツを取得します。
File Get Metadata
ファイルのメタデータを取得します。
File Delete
ドキュメントまたは写真ライブラリからファイルを削除します。
File Check Out
ドキュメントライブラリからファイルをチェックアウトします。
File Undo Check Out
ファイルの既存のチェックアウトを元に戻します。
File Check In
ドキュメントライブラリにファイルをチェックインします。
File Publish
内容の承認を申請します。
File Unpublish
内容の承認からファイルを削除するか、メジャーバージョンのパブリッシュを解除します。
File Approve
内容の承認が申請されたファイルを承認します。
File Deny
コンテンツの承認が申請されたファイルの承認を拒否します。
File Copy To
宛先 URL にファイルをコピーします。
File Query
指定条件と一致するフォルダーからすべてのファイルを取得します。
選択した項目に加えて、次の項目が常に返されます。
Created: 項目の作成日
Created_x0020_Date
DocIcon
Editor: ユーザー
FileLeafRef: フォルダーの名前
FileRef: フォルダーの相対 URL
FSObjType
Last_x0020_Modified
_Level
MetaInfo
_ModerationStatus
モデレーションが有効になっているライブラリにファイルが属している場合、ファイルのモデレーション状況。
Modified
項目の変更日
PermMask
ProgId
showshiddenversion
UniqueId
クエリで SharepointListReference または SharepointListMultiValueReference を返すように選択した場合、[Retrieve full objects for reference fields (参照項目のすべてのオブジェクトを取得)] パラメーターの値に応じて項目の戻り値は異なります。
オフ: 参照オブジェクトの ID と参照オブジェクトリストの ID を含む概要オブジェクト。
{
"Title": "A title",
"LookupField":
{
"id": "1",
"lookupListName": "aaaa-1111-bbbb-2222"
},
"MultiValueLookupField":
{
"ids":
[
"1",
"2",
"3"
],
"lookupListName": "cccc-3333-dddd-4444"
}
}
json
resolve メソッド:
両方の概要オブジェクト (SharepointListReference または SharepointListMultiValueReference) で、resolve と呼ばれるメソッドを使用できます。
このメソッドをコールすると、完全に参照されるオブジェクトが返され、項目内の概要オブジェクトが、この解決された参照で置き換えられます。
たとえば、LookupField
で resolve メソッドをコールすると、リストの ID 「1」とタイトル「aaaa-1111-bbbb-2222」を持つ項目が返され、項目には次の内容が含まれます。
{
"Title": "A title",
"LookupField":
{
"ID": "1",
"lookupListName": "aaaa-1111-bbbb-2222"
"Title": "Another title",
"Property": "A property",
...
},
"MultiValueLookupField":
{
"ids":
[
"1",
"2",
"3"
],
"lookupListName": "cccc-3333-dddd-4444"
}
}
json
オン: グラフで取得する完全なオブジェクト。
サイクルがある場合は、概要参照オブジェクトが表示されます。
"Title": "A title",
"LookupFieldId":
{
"Title": "Another title",
"Id": "1",
Property1": "A value",
...
},
"MultiValueLookupFieldId":
[
{
"Title": "Another title",
"Id": "1",
"Property1": "A value",
...
},
{
"Title": "Another title",
"Id": "2",
"Property1": "A value",
...
}
]
}
json
注意: このオプションをオンにすると、多くの参照項目がある大きな項目の取得に時間がかかることがあります。