Случайный «Файл назначения имеет расширение, которое может быть заблокировано» при экспорте JobTask - PullRequest
0 голосов
/ 06 июня 2018

У меня есть наследственная проблема с веб-службой 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 Ответ

0 голосов
/ 07 июня 2018

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

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

Set prohibited extensions

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

ade; adp; app; asp; bat; bas; chm; cmd; com; cpl; csh; exe; fxp; гаджет; hlp; hta; inf; ins; isp; его; js; jse; ksh; LNK; ум; MAF; МАГ; мам; MAQ; Mar; Мас; мат; Мау; MAV; Maw; МД; MDB; МРЗ; MDT; MDW; MDZ; ЦКЙ; MSI; MSP; MST; OPS; PCD; PIF; prf; prg; pst; reg; scf; scr; sct; shb; shs; url; vb; vbe; vbs; vsmacros; vss; vst; vsw; ws; wsc; wsf; wsh * wsh

...