Текущее время: Сб, сен 18 2021, 16:46

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Структуры с одинаковым именем в WSDL
СообщениеДобавлено: Вс, сен 12 2021, 18:40 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, май 15 2006, 07:01
Сообщения: 281
Откуда: Almaty
Всем привет.

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

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структуры с одинаковым именем в WSDL
СообщениеДобавлено: Вт, сен 14 2021, 21:45 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3023
Откуда: Москва
До активации service-consumer можно поменять названия структур на вкладке "Objects", нажав кнопку "Load all"

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структуры с одинаковым именем в WSDL
СообщениеДобавлено: Ср, сен 15 2021, 05:24 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, май 15 2006, 07:01
Сообщения: 281
Откуда: Almaty
Удав написал(а):
До активации service-consumer можно поменять названия структур на вкладке "Objects", нажав кнопку "Load all"


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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структуры с одинаковым именем в WSDL
СообщениеДобавлено: Чт, сен 16 2021, 07:51 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3023
Откуда: Москва
Попробуйте удалить service-consumers полностью (т.е. все объекты, включая структуры и типы данных) и создать заново.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структуры с одинаковым именем в WSDL
СообщениеДобавлено: Чт, сен 16 2021, 11:00 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, май 15 2006, 07:01
Сообщения: 281
Откуда: Almaty
Удав написал(а):
Попробуйте удалить service-consumers полностью(т.е. все объекты, включая структуры и типы данных) и создать заново.


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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структуры с одинаковым именем в WSDL
СообщениеДобавлено: Чт, сен 16 2021, 14:22 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3023
Откуда: Москва
Как название структуры будет соответствовать WSDL, если вы вручную его меняете? :?

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Структуры с одинаковым именем в WSDL
СообщениеДобавлено: Пт, сен 17 2021, 07:10 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, май 15 2006, 07:01
Сообщения: 281
Откуда: Almaty
Удав написал(а):
Как название структуры будет соответствовать 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 стоит статус, что уже используется.
Я пробовал другой префикс - все равно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB