チュートリアル: モジュール 3 - オーケストレーションから SharePoint プロパティへのアクセス
このチュートリアルは、「チュートリアル: モジュール 2 - Office と Windows SharePoint Services アダプターの統合」の続きであり、実行時に受信メッセージのWindows SharePoint Services コンテキスト プロパティにアクセスし、動的ポートを使用してプロパティに基づいてそのメッセージの送信先を決定する方法について説明します。オーケストレーション。 Windows SharePoint Services アダプターの概要については、「Windows SharePoint Services アダプターとは」を参照してください。
前提条件
このトピックの手順を実行するための前提条件は、次のとおりです。
Windows Server 2008 SP2 または Windows Server 2008 R2 で実行されているBizTalk Serverの完全なインストールを含む単一のサーバー展開が必要です。
「チュートリアル: モジュール 1 - Windows SharePoint Services アダプターを使用したメッセージの送受信」および「チュートリアル: モジュール 2 - Office と Windows SharePoint Services アダプターの統合」のチュートリアルを完了する必要があります。
マルチサーバー展開でのWindows SharePoint Services アダプターの使用については、「Windows SharePoint Services アダプターのセットアップと展開」を参照してください。
BizTalk プロジェクトの変更
この手順では、「チュートリアル: モジュール 2 - Office と Windows SharePoint Services アダプターの統合」で PurchaseOrder スキーマを変更します。 この手順は、スキーマ プロパティを昇格させ、BizTalk オーケストレーションで容易にアクセスできるようにする方法を示しています。
PurchaseOrder.xsd スキーマの変更
Microsoft Visual Studio を起動します。
[ ファイル] をクリックし、[ 開く] をクリックし、[ プロジェクト/ソリューション] をクリックします。
ファイルを
OrderProcess.sln
参照し、[ 開く] をクリックします。ソリューション エクスプローラーでファイルを
OrderProcessSchema.xsd
右クリックし、[開く] をクリックします。BizTalk エディターで、 を展開します
PurchaseOrder
。を右クリックし、[
Amount
昇格] をクリックし、[クイック プロモーション] をクリックします。[OK] をクリックします。
注意
Visual Studio は、現在のプロジェクトでこのプロパティ スキーマを作成します。
PurchaseOrder.xsd
を保存します。
オーケストレーションの作成
ここでは、新しい BizTalk オーケストレーションを作成します。 この手順により、Windows SharePoint Services アダプターが受信したメッセージを処理するためのオーケストレーションが作成されます。
BizTalk オーケストレーションの追加
ソリューション エクスプローラーでプロジェクトを
OrderProcess
右クリックし、[追加] をクリックし、[新しい項目] をクリックします。[ カテゴリ] で、[ オーケストレーション ファイル] を選択します。
[ テンプレート] で、[ BizTalk オーケストレーション] を選択します。
[名前] フィールドに「」と入力
MyCompanyOrderProcessing
し、[追加] をクリックします。
受信情報の作成
ここでは、オーケストレーションの新しいメッセージ、受信ポート、受信図形を作成します。 この手順は、BizTalk Server からメッセージを受信するオーケストレーションの構成方法を示しています。
新しいメッセージの作成
オーケストレーション ビューで、[メッセージ] を右クリックし、[新しいメッセージ] をクリックします。 これにより、 という名前
Message_1
の新しいメッセージが生成されます。を右クリックし、[
Message_1
名前の変更] をクリックして、「」と入力Message_PO
します。を右クリックし、[
Message_PO
プロパティ ウィンドウ] をクリックします。[ メッセージの種類 ] プロパティで、[ スキーマ] を展開し、[スキーマ] を選択
OrderProcess.OrderProcessSchema
します。
オーケストレーションへの受信ポートの追加
[ツールボックス] の [ BizTalk オーケストレーション ] で、[ ポート] 図形を [ポート] サーフェスにドラッグします。 ポート構成ウィザードが起動します。
[ようこそ] 画面で、 [次へ] をクリックします。
[名前] フィールドに「」と入力
ReceivePurchaseOrder
し、[次へ] をクリックします。[ 新しいポートの種類の作成] を選択します。
[ポートの種類名] フィールドに「」と入力
PurchaseOrderPT
し、[次へ] をクリックします。[ ポート バインド] 画面で、既定値のままにして、[ 次へ] をクリックします。
[完了] をクリックします。
[オーケストレーション ビュー] の [ポートの種類] で、ポートの種類を
PurchaseOrderPT
展開します。を右クリックし、[
Operation_1
名前の変更] をクリックして、「」と入力PurchaseOrderOperation
します。
オーケストレーションへの受信図形の追加
[ツールボックス] の [ BizTalk オーケストレーション ] で、[ 受信 ] 図形を [オーケストレーション] にドラッグします。
[受信] 図形を右クリックし、[ プロパティ ウィンドウ] をクリックします。
Activate プロパティを に
True
設定します。Note
"アクティブ化" プロパティを false に設定すると、"エラー X2214: 自己関連付けを行わないポート上での非アクティベーション受信に対して、既に初期化されている関連付けセットを少なくとも 1 つ指定する必要があります" というエラーが表示されます。
[名前] フィールドに「」と入力
Receive_PO
します。[ プロパティ] ウィンドウで、Message プロパティを選択
Message_PO
します。Operation プロパティを選択
ReceivePurchaseOrder.PurchaseOrderOperation.Request
します。 オーケストレーション デザイナの受信図形にポートが連結されます。
送信情報の作成
ここでは、オーケストレーションに新しいメッセージ、送信ポート、判断構造を作成します。 この手順は、判断ロジックを使ったオーケストレーションの構成方法、および、メッセージを送信ポートに送るようにオーケストレーションを構成する方法を示しています。
新しいメッセージの作成
オーケストレーション ビューで、[メッセージ] を右クリックし、[新しいメッセージ] をクリックします。 これにより、 という名前
Message_1
の新しいメッセージが生成されます。を右クリックし、[
Message_1
名前の変更] をクリックして、「」と入力Message_Task
します。を右クリックし、[
Message_Task
プロパティ ウィンドウ] をクリックします。[ メッセージの種類 ] プロパティで、[ スキーマ] を展開し、[スキーマ] を選択
OrderProcess.OrderProcessSchema
します。
オーケストレーションへの送信ポートの追加
[ツールボックス] の [ BizTalk オーケストレーション ] で、[ ポート] 図形を [ポート] サーフェスにドラッグします。 ポート構成ウィザードが起動します。
[ようこそ] 画面で、 [次へ] をクリックします。
[名前] フィールドに「」と入力
SendPurchaseOrder
し、[次へ] をクリックします。[ 既存のポートの種類を使用する] を選択します。
[ 使用可能なポートの種類] で、 を選択
OrderProcess.PurchaseOrderPT
し、 [ 次へ] をクリックします。[ ポート バインド] 画面の [ 通信のポートの方向] で、 を選択
I'll always be sending messages on this port
し、 [ 次へ] をクリックします。[完了] をクリックします。
オーケストレーションへの送信図形の追加
[ツールボックス] の [BizTalk オーケストレーション] で、[送信] 図形を [オーケストレーション] Designerにドラッグします。 [受信] 図形の下に
Receive_PO
配置します。[送信] 図形を右クリックし、[ プロパティ ウィンドウ] をクリックします。
[名前] フィールドに「」と入力
Send_PO
します。Message プロパティを選択
Message_PO
します。Operation プロパティを選択
SendPurchaseOrder.PurchaseOrderOperation.Request
します。 オーケストレーション デザイナの送信図形にポートが連結されます。
オーケストレーションへの判断図形の追加
[ツールボックス] の [BizTalk オーケストレーション] で、[決定] 図形を [オーケストレーション] Designerにドラッグします。 [送信] 図形の下に
Send_PO
配置します。[決定] 図形を右クリックし、[プロパティ ウィンドウ] をクリック します。
[名前] フィールドに「」と入力
NeedsApproval
します。[オーケストレーション] Designerで、[決定] 図形の [Rule_1] をクリックします。
[プロパティ] ウィンドウで、Name プロパティに「」と入力
ApprovalRequired
します。[ 式 ] プロパティ フィールドをクリックし、省略記号 (...) ボタンをクリックします。
BizTalk 式エディタで、以下の式を入力またはコピーします。
Message_PO(OrderProcess.PropertySchema.Amount) > 1000
[OK] をクリックします。
オーケストレーションへの別の送信ポートの追加
[ツールボックス] の [ BizTalk オーケストレーション ] で、[ ポート] 図形を [ポート] サーフェスにドラッグします。 ポート構成ウィザードが起動します。
[ようこそ] 画面で、 [次へ] をクリックします。
[名前] フィールドに「」と入力
SendToTasksList
し、[次へ] をクリックします。[ 既存のポートの種類を使用する] を選択します。
[ 使用可能なポートの種類] で、 を選択
OrderProcess.PurchaseOrderPT
し、 [ 次へ] をクリックします。[ ポート バインド] 画面の [ 通信のポート方向] で、 を選択します
I'll always be sending messages on this port
。[ ポート バインド] で、 を選択
Dynamic
し、 [ 次へ] をクリックします。[完了] をクリックします。
判断図形への送信図形の追加
[ツールボックス] の [BizTalk オーケストレーション] で、[送信] 図形を [オーケストレーション] Designerにドラッグします。 図形の下に配置します
ApprovalRequired
。[送信] 図形を右クリックし、[プロパティ ウィンドウ] をクリックします。
[名前] フィールドに「」と入力
CreateApprovalTask
します。Message プロパティを選択
Message_Task
します。Operation プロパティを選択
SendToTasksList.PurchaseOrderOperation.Request
します。 オーケストレーション デザイナの送信図形にポートが連結されます。
式の作成
ここでは、To Do パス値を変数に代入する式図形をソリューションに追加します。 この手順は、動的送信ポートのプロパティを変更するためのロジックをオーケストレーションに追加する方法を示しています。
新しい式の作成
[ツールボックス] の [ BizTalk オーケストレーション ] で、[送信] 図形の前に [式 ] 図形を
CreateApprovalTask
ドラッグします。[式] 図形を右クリックし、[プロパティ ウィンドウ] をクリック します。
[名前] フィールドに「」と入力
SetPortDestination
します。[ 式 ] プロパティ フィールドをクリックし、省略記号 (...) ボタンをクリックします。
BizTalk 式エディターで、次のように入力します。
SendToTasksList(Microsoft.XLANGs.BaseTypes.Address) = "wss://localhost/sites/WSSAdapterWalkthrough/Lists/Tasks/";
[OK] をクリックします。
新しいメッセージの構築
ここでは、ある種類のメッセージの新しいインスタンスをオーケストレーションに構築する、メッセージ構築図形をソリューションに追加します。 この手順は、受信メッセージをコピーして新しいメッセージを作成し、そのコンテキスト プロパティを変更する方法を示しています。 BizTalk 内ではメッセージは不変である、つまり、作成した後に元のメッセージに変更を加えることはできないため、この手順が必要になります。
メッセージ構築図形の追加
[ツールボックス] の [ BizTalk オーケストレーション ] で、[メッセージの 構築] 図形を [式] 図形の前に
SetPortDestination
ドラッグします。[メッセージの構築] 図形を右クリックし、[プロパティ ウィンドウ] をクリックします。
[名前] フィールドに「」と入力
ConstructTaskMessage
します。[Messages Constructed]\(メッセージ構築済み\) プロパティを選択
Message_Task
します。[ツールボックス] の [BizTalk オーケストレーション] で、[メッセージの割り当て] 図形を [メッセージの構築]
ConstructTaskMessage
図形にドラッグします。[プロパティ] ウィンドウで、[名前] フィールドに「」と入力
InitTaskMessage
します。[ 式 ] プロパティ フィールドをクリックし、省略記号 (...) ボタンをクリックします。
BizTalk 式エディターで、次のように入力またはコピーします。
Message_Task = Message_PO; Message_Task(WSS.ConfigOverwrite) = "no"; Message_Task(WSS.ConfigNamespaceAliases)= "orchns='http://OrderProcess.PurchaseOrder'"; Message_Task(WSS.ConfigPropertiesXml) = "<ConfigPropertiesXml><PropertyName1>Title</PropertyName1><PropertySource1>Approve %XPATH=//orchns:PurchaseOrder/orchns:PurchaseOrderID%</PropertySource1><PropertyName3>Status</PropertyName3><PropertySource3>Not Started</PropertySource3><PropertyName4>Priority</PropertyName4><PropertySource4>(1) High</PropertySource4></ConfigPropertiesXml>";
重要
上記のコンテキスト プロパティに指定する値は、大文字と小文字が区別されます。 コンテキスト プロパティを持つ動的ポートの構成値を設定する場合は、適切なケースを使用するか、BizTalk が指定された送信ポートにドキュメントをルーティングしようとしたときにエラーが発生することを確認する必要があります。
[OK] をクリックします。
[ファイル] をクリックして、 [すべて保存] をクリックします。
BizTalk プロジェクトのビルド
ここでは、BizTalk プロジェクトをビルドして配置します。 BizTalk Server によって実行時に使用されるアセンブリを作成および配置するために、この手順が必要になります。
ソリューションのビルドおよび配置
[ ビルド] をクリックし、[ Build OrderProcess] をクリックします。
[ ビルド] をクリックし、[ Deploy OrderProcess]\(OrderProcess のデプロイ\) をクリックします。
Microsoft Visual Studio を閉じます。
受信場所と送信ポートの変更
ここでは、既存の受信場所と送信ポートを、パイプラインで XML 処理を行うように変更します。 受信 XML パイプラインでは、オーケストレーション処理中に使用されたメッセージ プロパティが保持されます。また、送信 XML パイプラインでは、オーケストレーションで適用されたメッセージ プロパティ (後でメッセージ ルーティングに使用される) が保持されます。
受信場所を変更する
[スタート] ボタンをクリックし、[すべてのプログラム] をポイントし、[MicrosoftBizTalk Server] をポイントして、[BizTalk Server管理] をクリックします。
[MicrosoftBizTalk ServerAdministration SnapIn]、[BizTalk グループ]、[アプリケーション]、[BizTalk アプリケーション 1] の順に展開し、[受信場所] ノードをクリックします。
を右クリックし、[
SourceLocation
プロパティ] をクリックします。[受信場所のプロパティ] ダイアログ ボックスの [全般] で、[受信パイプライン] プロパティを選択
XMLReceive
します。[OK] をクリックします。
送信ポートの変更
[ 送信ポート] ノードをクリックします。
を右クリックし、[
SendToDestination
プロパティ] をクリックします。[送信ポートのプロパティ] ダイアログ ボックスの [全般] で、[送信パイプライン] プロパティを選択
XMLTransmit
します。[ フィルター ] タブを選択します。
既存の条件を選択し、DELETE キーを押して、[OK] をクリック します。
新しい送信ポートの開始
[ 送信ポート] ノードをクリックします。
を右クリックし、[
OrderProcess_1.0.0.0_OrderProcess.MyCompanyOrderProcess_SendToTasksList_<GUID>
開始] をクリックします。
Note
これが表示されない場合は、コンソールを更新する必要がある場合があります。
オーケストレーションをバインドする
ここでは、指定したポートにオーケストレーションをバインドします。 ビルドと配置が済んだオーケストレーションに対し、物理ポートを関連付けるために、この手順が必要になります。
オーケストレーションをバインドする
BizTalk Server管理コンソールで、[オーケストレーション] ノードをクリックします。
オーケストレーションを
OrderProcess.MyCompanyOrderProcessing
右クリックし、[ プロパティ] をクリックします。[バインド] タブ を 選択します。
[ホスト] で、[ホスト] フィールドを選択
BizTalkServerApplication
します。[バインド] で、[受信論理ポート]
ReceivePurchaseOrder
を選択FromSource
します。[バインド] で、[送信論理ポート]
SendPurchaseOrder
を選択SendToDestination
します。[OK] をクリックします。
オーケストレーションを右クリックし、[
OrderProcess.MyCompanyOrderProcessing
開始] をクリックします。
システムからのメッセージ送信
ここでは、InfoPath フォームを作成し、Windows SharePoint Services Web サイトにアップロードします。 そのメッセージは Windows SharePoint Services アダプターによって取得され、アーカイブ ドキュメント ライブラリにアーカイブされた後、アップロード先のドキュメント ライブラリに送信されます。 このメッセージを処理する間、送信先を判断するために Windows SharePoint Services のコンテキスト プロパティにアクセスします。
システムから送信する InfoPath フォームの作成
Web ブラウザを開き、作成したサイトの URL に移動します。 たとえば、「
http://<server_name>/sites/WSSAdapterWalkthrough
」のように入力します。[サイド リンク バー] メニューの [] をクリックします
InfoPathSolutions
。ファイルを
PurchaseOrder
クリックして [ ファイルのダウンロード ] ダイアログ ボックスを表示し、[ 開く] をクリックします。 フォームが読み込まれます。[ 発注書 ID ] フィールドに、「」と入力します
1003
。[ 請求対象 ] フィールドに「」と入力します
John Doe
。[ 金額 ] フィールドに「」と入力します
1750
。[ 発注書の日付] フィールドに、「」と入力します
1/3/2005
。[保存] をクリックします。
[名前を付けて保存] ダイアログ ボックスで、ファイル名フィールドに「」と入力
http://<server_name>/sites/WSSAdapterWalkthrough/Source
し、Enter キーを押します。ファイル名フィールドに「」と入力
PurchaseOrder3.xml
し、[保存] をクリックします。InfoPath を終了します。
Web ブラウザーで、[ ドキュメントとリスト] をクリックします。
[ ドキュメント ライブラリ] の [ コピー先] をクリックします。
宛先ドキュメント ライブラリに、このライブラリにメッセージが一覧表示されます。 アーカイブされたコピーは、アーカイブ ドキュメント ライブラリにも表示されます。
[ホーム] をクリックします。
[ リスト] の [ タスク] をクリックします。
To Do リストに、新しく作成した承認済みのアイテムが表示されます。
Note
注文書の総額が $1,000.00 を超えていたので、タスクが作成されます。
まとめ
このチュートリアルでは、Windows SharePoint Services のコンテキスト プロパティにアクセスする方法、および動的ポートを経由してメッセージの送信先を判断する方法を確認しました。
次の手順
Windows SharePoint Services アダプター セクションの残りの部分に進んでください。 詳細については、「関連項目」の該当するトピックを参照してください。
参照
Windows SharePoint Services アダプターについて
Windows SharePoint Services アダプターのチュートリアル