SOAP использует другой формат даты и времени

В Dynamics Nav (2013) У меня есть codeunit, который доступен со службами мыла для запуска XML порт. Если я введу правильный URI для этого кодового блока для запуска порта, XML данные импортированы в порядке. Кроме того, если я просто запустить XMLPORT.IMPORT функция из в NAV это будет правильно импортировать XML файл данных.

Но если я использую SoapHttpClientProtocol класс для запуска codeunit, тогда даты в данных XML импортируются в обратном направлении. Месяцы и дни меняются местами. Я попытался скопировать свои региональные настройки в учетную запись сетевой службы, но безуспешно.

Любые другие возможные исправления или причины того, почему формат времени данных отличается, когда выполняется через код?

1 ответ

Решение

Так что в моем долгом потерянном поиске, почему эта ошибка происходит, я наконец наткнулся на это:

http://blogs.msdn.com/b/nav/archive/2012/11/07/nav-2013-soap-web-services-on-a-multilanguage-environment.aspx

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

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