Error opening SharePoint task item in Outlook
I have a multiple condition approval SharePoint Designer workflow that was giving an error when users tried to open the task in Outlook:
Outlook cannot open a new form.
To open the file, access to the following form template is required:
<<path to InfoPath approval form>>
I tracked down an error in the ULS logs:
Unhandled exception thrown while handling resource page request for /sites/path
rosoft.Office.InfoPath.Server.Util.InfoPathLocalizedException: The following location is in a different site collection: path/Approval_x0028_4_x0029_.xsn. Access to locations on different site collections is blocked for security reasons. For more information, contact your site administrator.
at Microsoft.Office.InfoPath.Server.Controls.ResourcePage.HandleTemplateFile(HttpContext context)
at Microsoft.Office.InfoPath.Server.Controls.ResourcePage.<>c__DisplayClass2.<ProcessRequestInternal>b__0()
at Microsoft.Office.Server.Diagnostics.FirstChanceHandler.ExceptionFilter(Boolean fRethrowException, TryBlock tryBlock, FilterBlock filter, CatchBlock catchBlock, FinallyBlock finallyBlock) StackTrace:
at Microsoft.Office.Server.Diagnostics.FirstChanceHandler.ExceptionFilter(Boolean fRethrowException, TryBlock tryBlock, FilterBlock filter, CatchBlock catchBlock, FinallyBlock finallyBlock)
at Microsoft.Office.InfoPath.Server.Controls.ResourcePage.HandleTemplateFile(HttpContext context)
at Microsoft.Office.InfoPath.Server.Controls.ResourcePage.<>c__DisplayClass2.<ProcessRequestInternal>b__0()
at Microsoft.Office.Server.Diagnostics.FirstChanceHandler.ExceptionFilter(Boolean fRethrowException, TryBlock tryBlock, FilterBlock filter, CatchBlock catchBlock, FinallyBlock finallyBlock)
at Microsoft.Office.InfoPath.Server.Controls.ResourcePage.ProcessRequestInternal(HttpContext context)
at Microsoft.Office.InfoPath.Server.Controls.ProcessRequestPageBase.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
at System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error)
at System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb)
at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler, RequestNotificationStatus& notificationStatus)
at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler, RequestNotificationStatus& notificationStatus)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
The site collection error was telling. After much troubleshooting, I determined that the Request Management Routing feature was sending this request to a front-end App server that didn't have the Foundation web services running.
I disabled setting with this script:
asnp *sh*
$web = Get-SPWebApplication https://site
$routing = $web | Get-SPRequestManagementSettings
$routing.RoutingEnabled = $false
$routing.Update()
Outlook cannot open a new form.
To open the file, access to the following form template is required:
<<path to InfoPath approval form>>
I tracked down an error in the ULS logs:
Unhandled exception thrown while handling resource page request for /sites/path
rosoft.Office.InfoPath.Server.Util.InfoPathLocalizedException: The following location is in a different site collection: path/Approval_x0028_4_x0029_.xsn. Access to locations on different site collections is blocked for security reasons. For more information, contact your site administrator.
at Microsoft.Office.InfoPath.Server.Controls.ResourcePage.HandleTemplateFile(HttpContext context)
at Microsoft.Office.InfoPath.Server.Controls.ResourcePage.<>c__DisplayClass2.<ProcessRequestInternal>b__0()
at Microsoft.Office.Server.Diagnostics.FirstChanceHandler.ExceptionFilter(Boolean fRethrowException, TryBlock tryBlock, FilterBlock filter, CatchBlock catchBlock, FinallyBlock finallyBlock) StackTrace:
at Microsoft.Office.Server.Diagnostics.FirstChanceHandler.ExceptionFilter(Boolean fRethrowException, TryBlock tryBlock, FilterBlock filter, CatchBlock catchBlock, FinallyBlock finallyBlock)
at Microsoft.Office.InfoPath.Server.Controls.ResourcePage.HandleTemplateFile(HttpContext context)
at Microsoft.Office.InfoPath.Server.Controls.ResourcePage.<>c__DisplayClass2.<ProcessRequestInternal>b__0()
at Microsoft.Office.Server.Diagnostics.FirstChanceHandler.ExceptionFilter(Boolean fRethrowException, TryBlock tryBlock, FilterBlock filter, CatchBlock catchBlock, FinallyBlock finallyBlock)
at Microsoft.Office.InfoPath.Server.Controls.ResourcePage.ProcessRequestInternal(HttpContext context)
at Microsoft.Office.InfoPath.Server.Controls.ProcessRequestPageBase.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
at System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error)
at System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb)
at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler, RequestNotificationStatus& notificationStatus)
at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler, RequestNotificationStatus& notificationStatus)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
The site collection error was telling. After much troubleshooting, I determined that the Request Management Routing feature was sending this request to a front-end App server that didn't have the Foundation web services running.
I disabled setting with this script:
asnp *sh*
$web = Get-SPWebApplication https://site
$routing = $web | Get-SPRequestManagementSettings
$routing.RoutingEnabled = $false
$routing.Update()
Comments