Текущее время: Чт, ноя 15 2018, 01:23

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Ошибка при генерации прокси
СообщениеДобавлено: Вт, мар 01 2016, 17:50 
Ассистент
Ассистент

Зарегистрирован:
Ср, дек 16 2015, 15:30
Сообщения: 38
Добрый день!

Создал входящий интерфейс для внешнего Web-сервиса (путем импорта WSDL этого сервиса). Далее сделал исходящий синхронный интерфейс со стороны ERP с одной операцией, которая полностью дублирует одну из операций первого интерфейса с теми же типами сообщений (типы сообщений описываются в WSDL, который был также импортирован в External Definitions). Также создан Operation Mapping и маппинги сообщений для запроса и ответа, которые просто все идентичные поля транслирует в те же самые поля (сообщения имеют одинаковую структуру). На примере мапинга ответа:

Изображение

Пытаюсь сгенерировать прокси:

Изображение


При генерации возникает ошибка "Часть сообщения относится к типу, не к элементу" (в английском варианте: "message part refers a type not an element"):

Изображение


Что не так? В каком месте ошибка?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Ошибка при генерации прокси
СообщениеДобавлено: Ср, мар 02 2016, 04:42 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 09:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
Здравствуйте!

Тут смотреть надо, разбираться. Скорее всего, мастер в ABAPе не понимает (или криво понимает) какой-то из типов данных, описанных в импортированном wsdl.

Я бы на вашем месте все-таки свои типы данных создал для исходящего сообщения. А в мэппинге бы уже в external перегнал.

Ну, собственно, вот:

https://scn.sap.com/thread/3722651

аналогичная ситуация. В импортируемом wsdl'е есть ссылка на внешний xsd, которого нет в PI. Отсюда ошибка.

Или другая причина: http://help.sap.com/saphelp_nw70/helpda ... ontent.htm

The WSDL document in rpc-style format must also not use any soapenc:Array types; these are often used in SOAP code in documents with this format. soapenc:Array uses the tag <xsd:any>, which the Integration Builder editors or proxy generation either ignore or do not support.

P.S. Вопрос: зачем вам message mapping, если у вас одинаковые типы сообщений на обоих интерфейсах? :-)

_________________
У меня два правила:
1. Не говорить всего, что знаю.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Ошибка при генерации прокси
СообщениеДобавлено: Ср, мар 02 2016, 10:16 
Ассистент
Ассистент

Зарегистрирован:
Ср, дек 16 2015, 15:30
Сообщения: 38
Chaser009 написал:

The WSDL document in rpc-style format must also not use any soapenc:Array types; these are often used in SOAP code in documents with this format. soapenc:Array uses the tag <xsd:any>, which the Integration Builder editors or proxy generation either ignore or do not support.

P.S. Вопрос: зачем вам message mapping, если у вас одинаковые типы сообщений на обоих интерфейсах? :-)




Это нужно просто для того чтобы создать рабочую цепочку, чтобы понять как это должно работать, чтобы пощупать на уровне программного кода (как то так привычнее, уж извините:) ). Пока есть понятие только на уровне общих представлений и схем, а как это работает технически; где и что и с чем должно стыковаться и по каким критериям, что можно а что нельзя - непонятно абсолютно, требований к созданным интерфейсам для генерации прокси найти не смог. Как вот и в данном случае - оказывается нельзя использовать некоторые типы данных WSDL.

В данном случае проблема, судя по всему, в типе Array. Не совсем понятно как ее решить, если все основные данные веб-сервис отдает именно в виде массива? Можно ли как то массив через маппинг преобразовать в другой тип?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Ошибка при генерации прокси  Тема решена
СообщениеДобавлено: Ср, мар 02 2016, 10:29 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 09:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
ceib написал(а):
В данном случае проблема, судя по всему, в типе Array. Не совсем понятно как ее решить, если все основные данные веб-сервис отдает именно в виде массива? Можно ли как то массив через маппинг преобразовать в другой тип?


У вас мэппинг в тесте в ошибки не валится? Если нет, повторюсь, создайте для прокси (для исходящего интерфейса) свои типы, опишите тот самый массив, а в мэппинге запихайте данные из своего типа в целевую структуру. Обратно - так же. Заодно, и мэппинг пригодится, не просто так данные будет между одинаковыми структурами гонять :-)

Если не получится, вперед к познанию XSLT: https://scn.sap.com/thread/1427673 :-)

_________________
У меня два правила:
1. Не говорить всего, что знаю.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Ошибка при генерации прокси
СообщениеДобавлено: Чт, мар 03 2016, 18:47 
Ассистент
Ассистент

Зарегистрирован:
Ср, дек 16 2015, 15:30
Сообщения: 38
Chaser009 написал:
ceib написал(а):
В данном случае проблема, судя по всему, в типе Array. Не совсем понятно как ее решить, если все основные данные веб-сервис отдает именно в виде массива? Можно ли как то массив через маппинг преобразовать в другой тип?


Если не получится, вперед к познанию XSLT: https://scn.sap.com/thread/1427673 :-)



Сделал свои типы и XSLT-мапинг. Заработало, прокси сгенерировался, спасибо!

P.S. Уже наткнулся на следующую абсолютно непонятную мне ошибку, но об этом в другой теме - здесь не в тему)


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

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


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

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


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

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