SAPфорум.RU
https://sapboard.ru/forum/

Структуры с одинаковым именем в WSDL
https://sapboard.ru/forum/viewtopic.php?f=13&t=99754
Страница 1 из 1

Автор:  Friday [ Вс, сен 12 2021, 18:40 ]
Заголовок сообщения:  Структуры с одинаковым именем в WSDL

Всем привет.

Возникла странная ситуация.
В SE80 создаю потребителя услуг на основе WSDL-файла. Метод QUERY_UPDATES с параметром Z_QUERY_UPDATES.
Создаю еще один. Во втором WSDL тоже есть метод QUERY_UPDATES с параметром, который тоже называется. Они имеют разные поля, но SAP думает, что это одна и та же структура и в объявляет метод второго класса с параметром Z_QUERY_UPDATES.

Оба WSDL имеют одинаковое значение targetNamespace.
Пытался до сохранения нового потребителя услуг изменить её - не дает - строка серая.
Если префикс другой ставлю - все равно привязывает к старой структуре.
Как быть?

Автор:  Удав [ Вт, сен 14 2021, 21:45 ]
Заголовок сообщения:  Re: Структуры с одинаковым именем в WSDL

До активации service-consumer можно поменять названия структур на вкладке "Objects", нажав кнопку "Load all"

Автор:  Friday [ Ср, сен 15 2021, 05:24 ]
Заголовок сообщения:  Re: Структуры с одинаковым именем в WSDL

Удав написал(а):
До активации service-consumer можно поменять названия структур на вкладке "Objects", нажав кнопку "Load all"


Пробовал. Несколько объектов, в том числе эти две структуры, серые и их названия не меняются. Видимо SAP думает, что эта структура появилась при импорте первого WSDL файла и просто переписывает ее.

Автор:  Удав [ Чт, сен 16 2021, 07:51 ]
Заголовок сообщения:  Re: Структуры с одинаковым именем в WSDL

Попробуйте удалить service-consumers полностью (т.е. все объекты, включая структуры и типы данных) и создать заново.

Автор:  Friday [ Чт, сен 16 2021, 11:00 ]
Заголовок сообщения:  Re: Структуры с одинаковым именем в WSDL

Удав написал(а):
Попробуйте удалить service-consumers полностью(т.е. все объекты, включая структуры и типы данных) и создать заново.


Так и делаю. Потом создаю один - вижу, что структура соответствует структуре в WSDL.
Потом создаю второй - вижу, что теперь структура соответствует последнему WSDL-файлу

Автор:  Удав [ Чт, сен 16 2021, 14:22 ]
Заголовок сообщения:  Re: Структуры с одинаковым именем в WSDL

Как название структуры будет соответствовать WSDL, если вы вручную его меняете? :?

Автор:  Friday [ Пт, сен 17 2021, 07:10 ]
Заголовок сообщения:  Re: Структуры с одинаковым именем в WSDL

Удав написал(а):
Как название структуры будет соответствовать WSDL, если вы вручную его меняете? :?


Нее.
В 1 ом WSDL есть структура
Code:
<xs:element name="queryUpdatesRequest" .... type="tns:<структура 1>"/>
..
  <wsdl:message name="queryUpdates">
    <wsdl:part element="tns:queryUpdatesRequest" name="queryUpdatesRequest">
    </wsdl:part>


Импортируем его. Получается следующее:
Получается класс ZC1.
Метод QUERY_UPDATES.
У него параметр QUERY_UPDATES имеет тип Z_QUERY_UPDATES. У него поле QUERY_UPDATES_REQUEST, которое имеет тип структуры Z_A1_QUERY_UPDATES_REQ

Во втором файлу
Code:
<xs:element name="queryUpdatesRequest" .... type="tns:<структура 2>"/>
..
  <wsdl:message name="queryUpdates">
    <wsdl:part element="tns:queryUpdatesRequest" name="queryUpdatesRequest">
    </wsdl:part>


Создается класс ZC2.
У него метод QUERY_UPDATES.
У него параметр QUERY_UPDATES имеет тип Z_QUERY_UPDATES. У него поле QUERY_UPDATES_REQUEST, которое теперь имеет тип структуры Z_A2_QUERY_UPDATES_REQ.
Получается, что теперь метод первого класса имеет тот же самый параметр, но он уже имеет тип другой структуры.
Причем именно эти строки являются серыми и недоступны для редактирования на вкладе Objects до активации. В столце Info стоит статус, что уже используется.
Я пробовал другой префикс - все равно.

Автор:  Удав [ Вс, сен 19 2021, 22:40 ]
Заголовок сообщения:  Re: Структуры с одинаковым именем в WSDL

Можно wsdl выслать поиграться?
У меня не было случая, чтобы название структуры нельзя было поменять... :o

Автор:  Friday [ Вт, сен 21 2021, 11:05 ]
Заголовок сообщения:  Re: Структуры с одинаковым именем в WSDL

Удав написал(а):
Можно wsdl выслать поиграться?
У меня не было случая, чтобы название структуры нельзя было поменять... :o


Без проблем
https://test3.esf.kgd.gov.kz:8443/esf-w ... rvice?wsdl
https://test3.esf.kgd.gov.kz:8443/esf-w ... rvice?wsdl

Автор:  Удав [ Чт, сен 23 2021, 23:19 ]
Заголовок сообщения:  Re: Структуры с одинаковым именем в WSDL

WSDL по ссылкам не принимается парсером SAP.
Ложное значение:Неизвестное имя запроса namespace.vstore:sessionClosedException

Автор:  Friday [ Вс, сен 26 2021, 08:38 ]
Заголовок сообщения:  Re: Структуры с одинаковым именем в WSDL

Да, я обычно скачиваю файл и уже его скармливаю SAP

Автор:  Crik [ Ср, мар 29 2023, 13:17 ]
Заголовок сообщения:  Re: Структуры с одинаковым именем в WSDL

У меня так же создался service consumer. Но я не использую метод queryUpdates для сервиса UFormWebService. Может поэтому и не заметил данную странность, хотя генерил пару лет назад. Вы ведете разработки по ВС и СНТ?

Автор:  Friday [ Ср, май 10 2023, 11:48 ]
Заголовок сообщения:  Re: Структуры с одинаковым именем в WSDL

Crik написал(а):
У меня так же создался service consumer. Но я не использую метод queryUpdates для сервиса UFormWebService. Может поэтому и не заметил данную странность, хотя генерил пару лет назад. Вы ведете разработки по ВС и СНТ?

Добрый день.
Да, занимался этим когда-то.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/