09.07.2013, 21:48 | #1 |
Участник
|
Когда я пытаюсь загрузить xml файл с помощью Automation все работает прекрасно:
XmlDoc.load('FileName'); Когда я использую тот-же код, но обьявляю XmlDoc как DotNet: System.Xml.XmlDocument, то получаю ошибку: "Access to the path is denied". Есть ли идеи как мне с этим бороться? Спасибо. |
|
10.07.2013, 09:57 | #2 |
Участник
|
Цитата:
Сообщение от MarinaM
Когда я пытаюсь загрузить xml файл с помощью Automation все работает прекрасно:
XmlDoc.load('FileName'); Когда я использую тот-же код, но обьявляю XmlDoc как DotNet: System.Xml.XmlDocument, то получаю ошибку: "Access to the path is denied". Есть ли идеи как мне с этим бороться? Спасибо. почему вместо пути до файла у вас в кавычках переменная с именем файла - 'FileName'? |
|
10.07.2013, 10:38 | #3 |
Участник
|
Цитата:
Сообщение от MarinaM
Когда я пытаюсь загрузить xml файл с помощью Automation все работает прекрасно:
XmlDoc.load('FileName'); Когда я использую тот-же код, но обьявляю XmlDoc как DotNet: System.Xml.XmlDocument, то получаю ошибку: "Access to the path is denied". Есть ли идеи как мне с этим бороться? Спасибо. http://msdn.microsoft.com/en-us/library/gg502499.aspx
__________________
--------------------------------------------------------------------------------------------- "Собрать стадо из баранов легко, трудно собрать стадо из кошек" Профессор Сергей Капица |
|
10.07.2013, 23:02 | #4 |
Участник
|
Цитата:
Сообщение от MarinaM
Когда я пытаюсь загрузить xml файл с помощью Automation все работает прекрасно:
XmlDoc.load('FileName'); Когда я использую тот-же код, но обьявляю XmlDoc как DotNet: System.Xml.XmlDocument, то получаю ошибку: "Access to the path is denied". Есть ли идеи как мне с этим бороться? Спасибо. Скопируйте файл, к примеру, в корень раздела диска. Любого. Сделайте юзера локальным админом и попробуйте загрузить снова из корня раздела. |
|
11.07.2013, 06:29 | #5 |
Участник
|
To Orwell: Да, в этом и была проблема. Грузила из Документов, как только поместила в корень C:\MyFolder сразу же все заработало. Странно однако, что Automation без проблем грузил... Почему одним можно, а другим нет? Ну да ладно, никогда не понимала тонкости секъюрити.
To InTacto: Запускала из в 2013 из Object Designer с помощью Codeunit. Filename - строка вкл. путь к файлу и его имя, в коде без ковычек конечно, когда пост писала очень торопилась. To captain: thanks fro the link, this is exactly what I was using DotNet: Subtype System.Xml.XmlDocument. Видимо система к .NET относится с бОльшим недоверием, чем к COM и DLL... Спасибо! |
|
11.07.2013, 13:26 | #6 |
MCTS
|
Цитата:
Сообщение от MarinaM
To Orwell: Да, в этом и была проблема. Грузила из Документов, как только поместила в корень C:\MyFolder сразу же все заработало. Странно однако, что Automation без проблем грузил... Почему одним можно, а другим нет? Ну да ладно, никогда не понимала тонкости секъюрити.
To InTacto: Запускала из в 2013 из Object Designer с помощью Codeunit. Filename - строка вкл. путь к файлу и его имя, в коде без ковычек конечно, когда пост писала очень торопилась. To captain: thanks fro the link, this is exactly what I was using DotNet: Subtype System.Xml.Xmldocument. Видимо система к .NET относится с бОльшим недоверием, чем к COM и DLL... Спасибо! Есть мнение, что там стоит No, значит запрос выполняется на сервере и от имени аккаунта под которым этот сервер (служба NAV) запущен, сервер (служба NAV) наверное запущен под Нетворк аккаунтом, не уверен, что у него есть доступ к вашим документам. А Аутомейшн работал, так он всегда от имени клиента работает - он не может запускаться на сервере. |
|
11.07.2013, 16:02 | #7 |
Участник
|
Понятно, спасибо за объяснение.
Все верно, RunOnClient=No стоял. Когда я поменяла на Yes, то load прошел, а вот парсить не дали. Выскочила ошибка про отсутствие сериализации NodeList. Вернула на Yes. А... так это потому что обмен между клиентом и сервером происходил? То есть NodeList (и все другие задействованные в этом коде .NET) тоже RunOnClient=Yes должен был быть? Тогда бы все сработало? А есть минусы у этого подхода? Я пока на стадии разработки и могу файлы откуда угодно грузить. Когда тестировать начнем, их нужно будет с другого сервера в локальной сети читать. Могу себе представить, что тут начнется! |
|
11.07.2013, 18:29 | #8 |
MCTS
|
Цитата:
Сообщение от MarinaM
Понятно, спасибо за объяснение.
Все верно, RunOnClient=No стоял. Когда я поменяла на Yes, то load прошел, а вот парсить не дали. Выскочила ошибка про отсутствие сериализации NodeList. Вернула на Yes. А... так это потому что обмен между клиентом и сервером происходил? То есть NodeList (и все другие задействованные в этом коде .NET) тоже RunOnClient=Yes должен был быть? Тогда бы все сработало? А есть минусы у этого подхода? Цитата:
Можете уже сейчас потренироваться и дать права на чтение вашего каталога Документы пользователю под которым запущен НАВ сервер. |
|
19.07.2013, 19:12 | #9 |
Участник
|
И впрямь работает... Спасибо
|
|