Текущее время: Пн, сен 20 2021, 22:57

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Структуры с одинаковым именем в 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
Сообщения: 3024
Откуда: Москва
До активации 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
Сообщения: 3024
Откуда: Москва
Попробуйте удалить 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
Сообщения: 3024
Откуда: Москва
Как название структуры будет соответствовать 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 стоит статус, что уже используется.
Я пробовал другой префикс - все равно.


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

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3024
Откуда: Москва
Можно wsdl выслать поиграться?
У меня не было случая, чтобы название структуры нельзя было поменять... :o

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


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

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


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

Сейчас этот форум просматривают: Mail.RU Bot


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

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