気ままなに Exchange Server/SharePoint Server

Exchange サーバー、SharePoint サーバーについて勉強したことを記載していきます。

【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

http://blogs.technet.com/b/rajbugga/archive/2013/08/07/infopath-over-claims-authentication-sharepoint-2010-amp-2013.aspx

 

[テスト]

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です。

InfoPath Web ブラウザー フォームからの外部データ接続使用時における環境移行時の注意点(Windows 認証) - Japan SharePoint Support Team Blog - Site Home - TechNet Blogs

上記の" 構成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リセットを実行し試したら、、、解決しました!
次は、基幹システムからの情報取得についても確認してみたいと思います。