サイトアイコン インフォシェア株式会社

Web Serviceの呼び出し – Nintex Workflow

インフォシェアブログをご覧の皆様、ごきげんよう! 神田なんですけども。 長らく更新しておりませんでした、Nintex Workflowの連載記事を再開させたいと思いますー。 1か月以上も放置していました。ごめんなさい。_(._.)_   さて、今回はNintex Workflowの「Webサービスの呼び出し」というアクションをご紹介したいと思いまーす。 連載記事(Nintex)の目次はこちらから。 えっと、ちなみに「Webサービスの呼び出し」については、テクニカル・ドキュメントでもご紹介させていただいておりますー。   「Webサービスの呼び出し」アクションは、その名の通りワークフローからWebサービスを呼び出して処理をさせるためのアクションなのですが、SharePoint標準のWebサービスとは別にNintex Workflowが独自に用意しているWebサービスを使用することもできるんですねー。 えー、少し細かい話になってしまうのですが、「Webサービスの呼び出し」アクションで呼び出せるWebサービスは、SOAP Webサービスになります。 REST Webサービスを使いたいときは、「Web リクエスト」というアクションを使いまーす。   で、今回は、その中でも非常に便利なメソッド「StartSiteWorkflow」をご紹介しますねー。 「StartSiteWorkflow」メソッドなのですが、これまた名前の通りサイトワークフローを開始させるためのメソッドです。 Nintex Workflowで作ったサイトワークフローは、スケジュール(日時を指定)実行するか、Nintex Formsで作ったワークフロー開始フォームを使わないと開始できないんですねー。 今回は、サンプルとして以前ご紹介させていただいたNintex Workflowの動画の中から「WordファイルをPDFに一括変換」のシナリオを使って、ご説明させていただきますねー。   えーっとまず、このシナリオで使っているワークフローが、Nintex Workflowで作成したサイトワークフローなんですね。 このワークフローは、リスト内のすべてのWordファイルをPDFに変換するのですが、下記の図のように、通常であれば夜間にスケジュール実行するのが適切かと思います。(SharePointに負荷をかける処理なので)   しかし、イレギュラーな処理が発生するのが、業務の常、ですよねー。 例えば、臨時対応で「申請承認後にサイトワークフローを実行したい」みたいなケースの場合、申請承認用のリストがあって、承認後にそのリストのワークフローからサイトワークフローを実行するというようなことが、「StartSiteWorkflow」メソッドを使うとできちゃうんですねー。 で、使い方も意外と簡単です。 まずは、全体像を見ていただきたいのですが、   って全体像っていうほどのものでもないんですけど。。。 あのーあえてですよ、今回の焦点は「Webサービスの呼び出し」なので、他のアクションがごちゃごちゃあって、わかりにくくなるとダメだと思って、ブログをご覧になっている皆さんを思ってのことですよ(;・∀・) さて、シンプルでわかりやすいと思うのですが、まず最初のアクション「臨時対応申請」で、承認者に承認タスクが割り当てられます。 で、承認されると、今回のメインである「Webサービスの呼び出し」の登場です。 下図が、「Webサービスの呼び出し」アクションの設定画面ですー。   今回、使用している設定項目をご説明しますねー。 えっと、ここでのポイントは、ユーザー名の部分ですねー。 Webサービスを呼び出すユーザー名を指定するわけですが、今回はサイトワークフローを実行するWebサービスなので、サイトワークフローを実行するユーザーにもなるんですねー。 Webサービスを呼び出すユーザー = サイトワークフロー実行ユーザー で、何がポイントかと言いますと、Nintex Workflowで作成したサイトワークフローを実行するには、スケジュール実行をするか、Nintex Formsのワークフロー開始フォームを使うしかないわけですけど、Nintex Formsの開始フォームで実行するといってもワークフローの実行権限がないとエラーになります。 つまり、「Webサービスの呼び出し」アクションを使うと、   サイトワークフローを実行するユーザーを指定できるのです!   なので、「臨時対応申請」のワークフローを実行したユーザーにサイトワークフローを実行する権限がなくても、サイトワークフローを実行できます。 つまりつまり、極端に言うと   「臨時対応申請」は、どのユーザーでもできるのです!     えー今回は、「StartSiteWorkflow」メソッドを使用しましたが、似たようなメソッドで「StartWorkflow」や「StartWorkflowOnListItem」ってのもあります。 こちらも名前の通り、ワークフロー(リスト/ライブラリ)の開始や、指定したアイテムのワークフローの開始ができるメソッドです。 これらのメソッドも今回の例と同じようにワークフローを実行するユーザーを指定することができるので、ワークフローから他のワークフローを実行したいときに、元のワークフローを実行したユーザーに次のワークフローを実行する権限がない場合などにも使えるんですねー。   何かワークフローワークフローって連呼していますね。。。 うーん、便利さが伝わったかなー。   次回は、もう少し早めに更新しますねー。 以上、神田でしたー。
モバイルバージョンを終了