AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.07.2013, 21:48   #1  
MarinaM is offline
MarinaM
Участник
 
39 / 10 (1) +
Регистрация: 15.11.2005
Когда я пытаюсь загрузить xml файл с помощью Automation все работает прекрасно:
XmlDoc.load('FileName');

Когда я использую тот-же код, но обьявляю XmlDoc как DotNet: System.Xml.XmlDocument, то получаю ошибку: "Access to the path is denied".

Есть ли идеи как мне с этим бороться?

Спасибо.
Старый 10.07.2013, 09:57   #2  
InTacto is offline
InTacto
Участник
Аватар для InTacto
 
323 / 11 (1) +
Регистрация: 09.08.2005
Цитата:
Сообщение от MarinaM Посмотреть сообщение
Когда я пытаюсь загрузить xml файл с помощью Automation все работает прекрасно:
XmlDoc.load('FileName');

Когда я использую тот-же код, но обьявляю XmlDoc как DotNet: System.Xml.XmlDocument, то получаю ошибку: "Access to the path is denied".

Есть ли идеи как мне с этим бороться?

Спасибо.
где вы это запускаете?
почему вместо пути до файла у вас в кавычках переменная с именем файла - 'FileName'?
Старый 10.07.2013, 10:38   #3  
Captain is offline
Captain
Участник
Лучший по профессии 2017
 
300 / 81 (3) ++++
Регистрация: 28.02.2003
Цитата:
Сообщение от MarinaM Посмотреть сообщение
Когда я пытаюсь загрузить xml файл с помощью Automation все работает прекрасно:
XmlDoc.load('FileName');

Когда я использую тот-же код, но обьявляю XmlDoc как DotNet: System.Xml.XmlDocument, то получаю ошибку: "Access to the path is denied".

Есть ли идеи как мне с этим бороться?

Спасибо.
You can extend the RoleTailored client and Microsoft Dynamics NAV Server with functionality that is available in Microsoft .NET Framework assemblies.
http://msdn.microsoft.com/en-us/library/gg502499.aspx
__________________
---------------------------------------------------------------------------------------------
"Собрать стадо из баранов легко, трудно собрать стадо из кошек" Профессор Сергей Капица
Старый 10.07.2013, 23:02   #4  
Romul is offline
Romul
Участник
 
186 / 11 (1) +
Регистрация: 26.12.2007
Цитата:
Сообщение от MarinaM Посмотреть сообщение
Когда я пытаюсь загрузить xml файл с помощью Automation все работает прекрасно:
XmlDoc.load('FileName');

Когда я использую тот-же код, но обьявляю XmlDoc как DotNet: System.Xml.XmlDocument, то получаю ошибку: "Access to the path is denied".

Есть ли идеи как мне с этим бороться?

Спасибо.
С рабочего стола грузите?
Скопируйте файл, к примеру, в корень раздела диска. Любого. Сделайте юзера локальным админом и попробуйте загрузить снова из корня раздела.
Старый 11.07.2013, 06:29   #5  
MarinaM is offline
MarinaM
Участник
 
39 / 10 (1) +
Регистрация: 15.11.2005
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  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Цитата:
Сообщение от 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...


Спасибо!
А что стоит в свойствах переменной - RunOnClient?

Есть мнение, что там стоит No, значит запрос выполняется на сервере и от имени аккаунта под которым этот сервер (служба NAV) запущен,

сервер (служба NAV) наверное запущен под Нетворк аккаунтом, не уверен, что у него есть доступ к вашим документам.


А Аутомейшн работал, так он всегда от имени клиента работает - он не может запускаться на сервере.
Старый 11.07.2013, 16:02   #7  
MarinaM is offline
MarinaM
Участник
 
39 / 10 (1) +
Регистрация: 15.11.2005
Понятно, спасибо за объяснение.

Все верно, RunOnClient=No стоял. Когда я поменяла на Yes, то load прошел, а вот парсить не дали. Выскочила ошибка про отсутствие сериализации NodeList. Вернула на Yes.

А... так это потому что обмен между клиентом и сервером происходил? То есть NodeList (и все другие задействованные в этом коде .NET) тоже RunOnClient=Yes должен был быть? Тогда бы все сработало? А есть минусы у этого подхода?

Я пока на стадии разработки и могу файлы откуда угодно грузить. Когда тестировать начнем, их нужно будет с другого сервера в локальной сети читать. Могу себе представить, что тут начнется!
Старый 11.07.2013, 18:29   #8  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Цитата:
Сообщение от MarinaM Посмотреть сообщение
Понятно, спасибо за объяснение.

Все верно, RunOnClient=No стоял. Когда я поменяла на Yes, то load прошел, а вот парсить не дали. Выскочила ошибка про отсутствие сериализации NodeList. Вернула на Yes.

А... так это потому что обмен между клиентом и сервером происходил? То есть NodeList (и все другие задействованные в этом коде .NET) тоже RunOnClient=Yes должен был быть? Тогда бы все сработало? А есть минусы у этого подхода?
Да, как я понимаю - должно быть одинаково. Минус - задействованные библиотеки должны стоять на каждом клиенте. И права должны быть у каждого пользователя (зависит от действий). Например права на доступ к каталогу (см. ниже)


Цитата:
Сообщение от MarinaM Посмотреть сообщение
Я пока на стадии разработки и могу файлы откуда угодно грузить. Когда тестировать начнем, их нужно будет с другого сервера в локальной сети читать. Могу себе представить, что тут начнется!
Откроете проводником каталог, откуда будете грузить файлы, и дадите права на чтение нужному аккаунту.

Можете уже сейчас потренироваться и дать права на чтение вашего каталога Документы пользователю под которым запущен НАВ сервер.
Старый 19.07.2013, 19:12   #9  
MarinaM is offline
MarinaM
Участник
 
39 / 10 (1) +
Регистрация: 15.11.2005
И впрямь работает... Спасибо
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:43.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.