Показать сообщение отдельно
Старый 25.01.2025, 18:27   #3  
Maximin is offline
Maximin
NavAx
NavAx Club
 
415 / 361 (13) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Решил отписаться о решении.
Проблема с 1С решается через использование параметра ?singleWSDL для службы - тогда все описания попадают в один файл. И тупая 1Ска, которая не может собрать все описание из нескольких xsd - прожевывает, наконец, WSDL.
Однако, чтобы описания всех методов смогли собраться в этом режиме в одном файле - надо, чтобы они все имели один и тот же namespace. Он указывается в параметре namespace службы в AOT.
Учитывая, что стандартные объекты AX (QueryCriteria и прочие вспомогательные типы) находятся в пространстве имен http://schemas.microsoft.com/netfx/2009/05/routing, приходим в выводу, что все службы, публикуемые в этом порту, должны быть именно в этом пространстве. К тому же, мы не можем управлять пространством для стандартных типов. Вопрос, на кой черт стандартные службы AX раскиданы по куче пространств - оставим на совести разработчиков MS, и, если нужно, изменим их на http://schemas.microsoft.com/netfx/2009/05/routing.
В результате, имеем все в одном пространстве (и файле), и 1С уже сможет забрать себе метаданные.

Если вариант выше по каким-то причинам не подходит, есть второй путь - собрать самому WSDL из разных файлов в один, в нужном пространстве. И подсунуть его 1С (она умеет читать WSDL из файла). Поскольку Аксе глубоко наплевать на то, какое пространство используется при вызове (и вообще - у неё схема работы с пространствами типа "хамелеон", когда объекты сами попадают в то пространство, которое является текущим в месте их описания), то все будет работать. Но обновление превратится в не самое увлекательное занятие - надо будет проделать все заново.
В заключение, для понимания - могу посоветовать почитать пару статей:
https://www.interface.ru/home.asp?artId=21058 (Практика использования пространств имен XML в проектах, содержащих несколько XML-схем от Bладимира Энгельса) и
https://www.ibm.com/docs/ru/rsas/7.5...xml-namespaces (Пространства имен XML из документации на IBM Rational).
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...

Последний раз редактировалось Maximin; 25.01.2025 в 18:30.