Случайный "Файл назначения имеет расширение, которое может быть заблокировано" при экспорте JobTask

У меня наследственная проблема с веб-службой ODATA Navision 2016, которую я использую в своем приложении.

Обычно это работает хорошо, но случайным образом (1 на 100 запускается приблизительно), он выходит из строя со следующим журналом стека:

Server instance: NAV Tenant ID: User: Type: Microsoft.Dynamics.Nav.Types.Exceptions.NavNCLXmlPortNodeProcessException SuppressMessage: False SuppressExceptionCreatedEvent: False FatalityScope: None Message: Could not process node JobTask. The following error occurred: The file that you are trying to create cannot be created. The destination file has an extension that may be blocked. Contact your system administrator. StackTrace:
     at Microsoft.Dynamics.Nav.Runtime.NavXmlPortExporter.TryProcessElement(NavXmlPortNode node)
     at Microsoft.Dynamics.Nav.Runtime.NavXmlPortExporter.LoopElementChildren(NavXmlPortNode node)
     at Microsoft.Dynamics.Nav.Runtime.NavXmlPortExporter.ProcessTextElement(NavXmlPortTextNode node)
     at Microsoft.Dynamics.Nav.Runtime.NavXmlPortExporter.ProcessElement(NavXmlPortNode node)
     at Microsoft.Dynamics.Nav.Runtime.NavXmlPortExporter.TryProcessElement(NavXmlPortNode node)
     at Microsoft.Dynamics.Nav.Runtime.NavXmlPortExporter.Export()
     at Microsoft.Dynamics.Nav.Runtime.NavXmlPort.Export(DataError errorLevel)
     at Filter.InvokeWithFilter(NavMethodScope )
     at Microsoft.Dynamics.Nav.Runtime.NavMethodScope.Run()
     at Microsoft.Dynamics.Nav.BusinessApplication.Codeunit50005.ExportJobTask(NavXmlPortHandle jobTaskXML)   --- End of stack trace from previous location where exception was thrown ---
     at Microsoft.Dynamics.Nav.Runtime.TaskHelper.Rethrow(Exception exception)
     at Microsoft.Dynamics.Nav.Service.WebServices.ServiceBroker.Invoke(Boolean isSoapMessage, Uri url, XmlReader input, TextWriter output, NavUserAuthentication navUserAuth)
     at Microsoft.Dynamics.Nav.Service.WebServices.NavWebService.<>c__DisplayClass5.<>c__DisplayClass7.<ProcessMessage>b__3()
     at Microsoft.Dynamics.Nav.Service.WebServices.Disposer.Scope(Code code)
     at Microsoft.Dynamics.Nav.Service.WebServices.WCFUtil.GetPopulatedMemoryStream(StreamFillingCallback callback)
     at Microsoft.Dynamics.Nav.Service.WebServices.NavWebService.ProcessMessage(Message message)
     at SyncInvokeProcessMessage(Object , Object[] , Object[] )
     at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
     at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
     at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
     at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
     at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) Source: Microsoft.Dynamics.Nav.Ncl HResult:
-2146233088
---------------------------------- Type: Microsoft.Dynamics.Nav.Types.Exceptions.NavNCLFileLoadException SuppressMessage: False SuppressExceptionCreatedEvent: False FatalityScope: None Message: Could not process node JobTask. The following error occurred: The file that you are trying to create cannot be created. The destination file has an extension that may be blocked. Contact your system administrator. StackTrace:
     at Microsoft.Dynamics.Nav.Runtime.NavFile.InternalCreateOrOpen(DataError errorLevel, FileOption options, Boolean checkFileType)
     at Microsoft.Dynamics.Nav.Runtime.NavFile.ALCreate(DataError errorLevel, String createName, TextEncoding encoding)
     at Microsoft.Dynamics.Nav.Runtime.NavBLOB.ALExport(String fileName)
     at Microsoft.Dynamics.Nav.BusinessApplication.XMLport50000.Job_Task_a45_Exporta58a58OnAfterGetRecord_Scope.OnRun()
     at Filter.InvokeWithFilter(NavMethodScope )
     at Microsoft.Dynamics.Nav.Runtime.NavMethodScope.Run()
     at Microsoft.Dynamics.Nav.BusinessApplication.XMLport50000.Job_Task_a45_Exporta58a58OnAfterGetRecord()
     at Microsoft.Dynamics.Nav.Runtime.NavXmlPortTableNode.FireExportTrigger(NavTrigger trigger)
     at Microsoft.Dynamics.Nav.Runtime.NavXmlPortExporter.ProcessTableElement(NavXmlPortTableNode node)
     at Microsoft.Dynamics.Nav.Runtime.NavXmlPortExporter.ProcessElement(NavXmlPortNode node)
     at Microsoft.Dynamics.Nav.Runtime.NavXmlPortExporter.TryProcessElement(NavXmlPortNode node) Source: Microsoft.Dynamics.Nav.Ncl HResult: -2146233088

У вас есть идеи, что может быть причиной этой ошибки?

1 ответ

Решение

Возможно, выбранное случайное имя файла соответствует списку запрещенных расширений файлов в конфигурации уровня обслуживания? Мог бы объяснить, почему это так случайно.

Попробуйте временно отключить эту опцию, чтобы посмотреть, решит ли она проблему. Я бы посчитал это ошибкой платформы, поэтому об этом следует сообщить в Microsoft.

Установить запрещенные расширения

Следующие расширения по умолчанию заблокированы:

ADE; в.с.ц.; приложение, осина, летучая мышь; барельеф, CHM, CMD, ком; компл; CSH; ех; FXP; гаджет; HLP; ОМТ; инф; ин; ISP; его; Js; JSE; КШ; LNK; безумствует; MAF; МАГ; мам; MAQ; Mar; Мас; мат; Мау; MAV; Maw; МД; MDB; МРЗ; MDT; MDW; MDZ; ЦОЕ; MSI; MSP; MST; OPS; PCD; PIF; PRF; PRG; ПСТ; р; SCF; экр; SCT; SHB; SHS; URL, VB, VBE, VBS; vsmacros, ВСС, VST, ВМЗ; WS; WSC, WSF, WSH

Другие вопросы по тегам