【SharePoint 2010】 InfoPath でアンケートフォームを検証
[構成]
SharePoint 2010 FE 14.0.6129.5002
SharePoint 2010 APP 14.0.6129.5002
SQL 2008 R2
※ InfoPath 2013 を使用してフォームは作成
[やりたいこと]
・InfoPath アンケートを新しく作成したサイトコレクションに展開し、ユーザーがアンケートに回答できること。
・Webフォームを開いた際に、SOAP でユーザープロファイルより、名前、メールアドレス、所属、役職を取得し表示させる。
[参考情報]
とりあえず、下記の情報を読む。SharePoint Blog はちょっとわからない点もあるが、一旦、試す。
Webサービスを利用したデータ入力方法
http://sharepointmaniacs.com/archives/247
InfoPath -SharePoint 2007/2010/2013 & SharePoint Online Configuration and troubleshooting
[テスト]
1. Webアプリケーションを550 ポートで作成
2. そこにルートサイトコレクションを作成 (http://servername/)
3. 今回利用するサイトコレクションを http://servername/sites/infopath として作成
4. Infopath デザイナー2013 でテストフォームを作成 (これを見ながら作成 http://sharepointmaniacs.com/archives/247)
正直、SOAP をどのサイトコレクション(サイト) を指定いいかよくわからなかったので、ルートサイトコレクションとサイトコレクション等の3パターンを用意
udcx は、同じサイトコレクション内に上記3つのパターンを用意
パターン1: http://servername/sites/infopath
パターン2: http://servername.<ドメイン>/sites/infopath
パターン3: http://仮想ホスト名.<ドメイン>/sites/infopath
※http://*/sites/infopath/_vti_bin/userprofileservice.asmx?WSDL
5. フォームを http://servername/sites/infopath/test011 として発行
5-1. "セキュリティと信頼" では、“自動的にセキュリティレベル” を設定する にチェック
5-2. フォームテンプレートの署名では、CAサーバーから発行した code署名証明書を利用 (参考: http://nasunoblog.blogspot.jp/2014/03/wse-2012-r2-ad-cs-code-signing-certificate.html)
5-3. 互換性で、”Webブラウザフォーム (InfoPath 2010)” を選択肢
5-3. “このフォームをブラウザで入力できるようにする” にチェック
5-4. “フォームライブラリ” をチェック
5-5. “新しくフォームライブラリを作成する” で作成
6. 発行は正常に完了
7. 下記のパターンで試す。
http://<SPS FE>.<ドメイン>:550/sites/infopath/ => 成功
http://<SPS app>.<ドメイン>:550/sites/infopath/ => 成功
http://<仮想ホスト名>.<ドメイン>:550/sites/infopath/ => 失敗
[成功]
[失敗]
データソースの照会中にエラーが発生しました。
Web サービスへの接続時にエラーが発生しました。
サーバーのWindowsイベントログにエントリが追加されました。
ログ ID:5566
仮想ホスト名だけ失敗した。とりあえず、下記を確認
・SharePoint/IIS の設定で匿名認証がオフになっていることを確認
・SOAP の取得先、InfoPath の発行先を全部仮想ホスト名に設定
色々試すが、クリアできず、、、、
一旦、サーバー名用専用のサイトを用意して回避します。。。。
[2015.11.22 update]
SharePoint チームのBlogがありました。さすがMSさんのblogです。
上記の" 構成1.クラシックベースWindows NTLM認証の場合" に合致しておりました。
とりあえず、以下を対処。
1) WEFサーバーの host ファイルに下記を追加
127.0.0.1 <仮想ホスト名>.<ドメイン>
例: sps2010.contoso.com
2) WEFサーバーに以下のレジストリを追加
レジストリキー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
値の名前 : BackConnectionHostNames
複数行文字列値:<仮想ホスト名>.<ドメイン>
例: sps2010.contoso.com
設定後、IISリセットを実行し試したら、、、解決しました!
次は、基幹システムからの情報取得についても確認してみたいと思います。