SharePoint アドイン製品一覧
SharePoint 2010 開発のステップ・バイ・ステップ
Windows Azure 入門
Windows Azure How-To 集
WCF / WF 入門
環境:Microsoft Office SharePoint Server (MOSS) 2007 (または WSS 3.0)BizTalk Server 2006 R2Visual Studio 2005
SharePoint と BizTalk の連携
こんにちは。
今回は送信方法についてご説明します。BizTalk Server を使った作成の全般的な手順については 前回 詳述しましたので、今回は前回と異なる箇所を中心に説明していきます。BizTalk Server と SharePoint を使った一般的な流れをまず学習したい方は、事前に 前回 の投稿を確認してからこちらを読んでください。(ただし 「送信」 時独自のネタなどもいくつかありますので、このあたりはちゃんと記載するようにします。)
こんどは、csv ファイルが配置されたら、ファイルの中の各レコードをみて、一定金額以上なら InfoPath のフォームライブラリにドキュメントを登録し、そこから先は SharePoint の承認ワークフローなどで承認されるというサンプルを作成してみましょう。
前回 と同様の InfoPath フォーム (.xsn) と csv ファイルをあらかじめ作成しておきましょう。(前回作成した方はそのまま使用してOKです)
BizTalk Server プロジェクトの作成
これで完了しましたので、あとは 前回 同様、
をおこなって、リビルドと配置をおこなってください。
物理ポートの設定
CSV 側の物理ポートの設定については、今回は受信側になるという点を除いては 前回 同様です。(パイプラインの指定も忘れないように実施しておいてください)
また SharePoint 側についても前回とほぼ同様ですが、今回は下図のように [構成] 画面上に [Windows SharePoint Services 統合] というグループが表示されている点に注意しましょう。これは、タスクリスト、ブログ、カスタムリストなど、リストの列そのものを設定する際に使用するものですが、今回はドキュメントライブラリへのドキュメント登録であり、またこれについてはおそらく次回ご説明することになると思いますので、今回は空のままにして進みましょう。
ということで、前回 同様、下図の通り送信先の SharePoint の URL やドキュメントライブラリの URL を指定します。(このドキュメントライブラリは、無論、上記の InfoPath フォームを発行した先のライブラリとしておいてください)
さて、ここで 「ファイル名」 が 1 つのポイントになってきます。今回の場合、SharePoint に保存するファイル名は上図のように BizTalk Server の Message ID を使用しています (OrderRequest-%MessageID%.xml) が、下部のコメント欄に記載されているように XPath を使った表現もできますので、例えば、InfoPath のフォームの中の ProductName を使って <ProductName>.xml といったファイル名などにすることも可能です (この場合、名前空間も正しく指定しておく必要があります。この辺りは、また次回にでも記載してみましょう、、、) また、BizTalk のオーケストレーション内部からファイル名を都度コードで指定するといったことなどもできます。なお、上図で [上書き] プロパティを 「はい」 に設定しておくと、同じファイル名のファイルが存在していた際に上書きをおこなってくれます。
といった感じですが、このシナリオでは他にも留意点があります。BizTalk Server から SharePoint に送信をおこなう場合は、第1回 でも記載したように、SharePoint の画面や SharePoint 側で公開された Web サービスを使用するのではなく、WSS Adapter が独自にインストールする Web サービスを使用しているという点です。ですので、ケースによっては SharePoint 側で設定した IIS の構成内容が反映されず、それが原因でエラーとなることがあります。例えば今回のように、ドキュメントが登録されたあとで SharePoint Designer のワークフローが自動で実行される場合などには、(カスタムアクティビティを作成した経験のある方はおわかりと思いますが) web.config の authorizedType 要素をみていますので、SharePoint の config 上の以下の部分を BizTalk の WSS Adapter の .config (%Program Files%\Microsoft BizTalk Server 2006\Business Activity Services\BTSharePointV3AdapterWS\web.config) にコピーする必要があります。(注 : configSections は必ず先頭に記述します)
<configSections> <sectionGroup name="System.Workflow.ComponentModel.WorkflowCompiler" type="System.Workflow.ComponentModel.Compiler.WorkflowCompilerConfigurationSectionGroup, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"> <section name="authorizedTypes" type="System.Workflow.ComponentModel.Compiler.AuthorizedTypesSectionHandler, System.Workflow.ComponentModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> </sectionGroup> </configSections> . . . . . . .
<System.Workflow.ComponentModel.WorkflowCompiler> <authorizedTypes> <authorizedType Assembly="System.Workflow.Activities, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Workflow.*" TypeName="*" Authorized="True" /> . . . . . . .
</authorizedTypes> </System.Workflow.ComponentModel.WorkflowCompiler>
また、ドキュメントを登録するユーザも BizTalk ホストアカウントになりますので、「アイテムの作成者」を使用したワークフローを使用している場合や、特別な権限を設定している場合には注意が必要です。
さて、ここまで、ドキュメントライブラリへのファイル登録 (それも BizTalk と相性の良い InfoPath の例) をみてきましたが、SharePoint にはドキュメントライブラリ以外のリストも数多く存在し、重要な役割を担っています。例えばその代表例が、「タスクリスト」です。SharePoint をチームのポータルとして使用されているところでは、外部システムの状態に応じて SharePoint のタスクと連携したくなることでしょう。次回はこうしたドキュメントライブラリ以外のリストを使った処理について記載したいと思います。
PingBack from http://www.basketballs-sports.info/basketball-chat/?p=1254
�ե��������CGI��PHP������ץȤ���ɡ�96�Υ��ƥ�����鸡���Ǥ��ޤ������������ɥ�μ»ܤˤ��͵��٤�ɾ���⤢�ꡪ ������������ץȤǤ⡢��Ͽ�����Ѥϰ���̵���Ǥ���
SharePoint と BizTalkで、MSエバンジェリストの松崎さんがかなり良い記事を連載していたことに気づく。 ■SharePoint と BizTalk の連携 考え方と環境準備 http: