私は、SharePointサイトでホストされているカスタムaspxページでXmlFormViewコントロールを使用しています。 私のSharePointは2010年にアップグレードされた後、XmlForm.Submit()によってトリガーされたフォームの検証に問題がありました。XmlForm.Submit()は、検証結果メッセージを「隠す」?
送信されたフォームの検証が失敗した場合、カスタムページは実際にSharePointによってスローされた例外に依存しています。検証メッセージはフォーマットされ、フレンドリーな方法でユーザーに表示されます。
無効なユーザー指定のデータを含むフォームが送信されると、「Microsoft.Office.InfoPath.Server.Util.InfoPathFatalException」が返されます。 この例外には魔法使いフィールドに無効なデータが含まれているという情報は含まれていません。 実際には、私は "Microsoft.Office.InfoPath.Server.SolutionLifetime.DataAdapterException"を期待していました。 (送信が成功し、フォームに検証エラーが含まれていない場合は例外がスローされません)
Visual Studioで[自分のコードを有効にする(管理のみ)]オプションをオフにしてフォームの送信をデバッグすると、例外次(デンマーク語のテキストが含まれています):
Microsoft.Office.InfoPath.Server.SolutionLifetime.DataAdapterExceptionはvalideringsfejl indeholder
メッセージ= Formularen館ikke afsendes、fordiデン発生しました。 (義務を負う)義務を負うことがあり、義務を負うことはありません。
フェルトEllerののGRUPPE:MunicipalRealPropertyIdentifier
Fejl:デアMAくんangivesらbestemtモンスター
ソース= Microsoft.Office.InfoPath.Server
BypassWatson =真
LOGID = 5567
SaveUserSession = falseを
UserMessage =すべてのユーザーのためにフォームを作成してください。 (義務を負う)義務を負うことがあり、義務を負うことはありません。
フェルトEllerののGRUPPE:MunicipalRealPropertyIdentifier
Fejl:デアMAくんangivesらbestemtモンスター
OverrideTopLevelMessage =真
のStackTrace:
Microsoft.Office.InfoPath.Server.SolutionLifetime.DatabaseHelper.CheckErrorBoardで(文献ドキュメント、DataAdapterアダプタ、XPathNavigatorサブツリーチェック、ブールschemaErrorOnly)
内部エラー:
これはいいです!この例外には、検証エラーに関する情報が含まれています。 私はデバッグを続行します。所望の例外が再スローされ、出力を読み取り:シンボルなしでメソッドをオーバーステッピング:にシンボル「Microsoft.Office.InfoPath.Server.SolutionLifetime.DatabaseHelper.CheckErrorBoard」 ステップなしの方法にわたってステッピング:に
ステップ'Microsoft.Office.InfoPath.Server.DocumentLifetime.Document.ExecuteDefaultSubmitAction'
これはまだ良好です!私はデバッグを続行しますが、元の例外は失われ、InfoPathFatalExceptionが返されます。
Microsoft.Office.InfoPath.Server.Util.InfoPathFatalExceptionは型 'Microsoft.Office.InfoPath.Server.Util.InfoPathFatalException' の
メッセージ=例外がスローされた起こりました。
ソース= Microsoft.Office.InfoPath.Server
BypassWatson = falseを
SaveUserSession = falseを
UserMessage =デアopstodエンalvorlig fejl behandlingen AF formularen下。
のStackTrace:Microsoft.Office.InfoPath.Server.Util.GlobalStorage.get_CurrentFormIdで
()
のInnerException:
VS出力は、現在読み出し:
工程に:記号なしメソッドにわたってステッピング'Microsoft.Office.InfoPath.Server.SolutionLifetime.DatabaseHelper.CheckErrorBoard' ステップイン:ステッピングオーバーメソッド 'Microsoft.Office.InfoPath.Server.DocumentLifetime.Document.ExecuteDefaultSubmitAction' ステップへ:シンボルのMicrosoft.Office.InfoPath.Server.DocumentLifetime.OMExceptionManager.ExecuteOMCallWithExceptions "
せずにメソッドを介してステッピングそれは、SharePointに来るとき、私はかなり初心者だけど、私は、これはのようなビットを匂いだと思いますセキュリティ上の問題? 元の例外が発信者にバブルを返すのが許可されていないようです。
SharePointでフルログを有効にしようとしましたが、「.. \ Program Files \ Common Files \ Microsoft Shared \ Web Server Extensions \ 14 \ LOGS」のログを見ると、元の "例外ではなく、なぜ上書きされますか?
追加情報: サイトは現在、コンフィグ設定で動作します:
<trust level="Full" originUrl="" />
誰もが、この問題についてのアイデアを得ましたか。
SharePoint 2007では、目的の例外が呼び出し元に返されます。