SOAP использует другой формат даты и времени
В Dynamics Nav (2013)
У меня есть codeunit, который доступен со службами мыла для запуска XML
порт. Если я введу правильный URI для этого кодового блока для запуска порта, XML
данные импортированы в порядке. Кроме того, если я просто запустить XMLPORT.IMPORT
функция из в NAV
это будет правильно импортировать XML
файл данных.
Но если я использую SoapHttpClientProtocol
класс для запуска codeunit, тогда даты в данных XML импортируются в обратном направлении. Месяцы и дни меняются местами. Я попытался скопировать свои региональные настройки в учетную запись сетевой службы, но безуспешно.
Любые другие возможные исправления или причины того, почему формат времени данных отличается, когда выполняется через код?
1 ответ
Так что в моем долгом потерянном поиске, почему эта ошибка происходит, я наконец наткнулся на это:
Все операции SOAP вынуждены использовать культуру EN-US и НЕ МОГУТ быть изменены. Но похоже, что это было исправлено в новой сборке 2013 R2 в апреле. Вам просто нужно добавить:<add key="ServicesCultureDefaultUserPersonalization" value="true"/>
в файл CustomSettings.config (если вы используете экземпляр службы, убедитесь, что вы изменили соответствующий в [path-to-NAV]\71\Service\Instances\
папку), и он должен использовать ту культуру, которая у вас есть в таблице персонализации пользователей