Текущее время: Пт, окт 20 2017, 14:43

Часовой пояс: 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
Сообщения: 317
Откуда: Владивосток, Россия
Пол: Мужской
Здравствуйте!

Тут смотреть надо, разбираться. Скорее всего, мастер в 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
Сообщения: 317
Откуда: Владивосток, Россия
Пол: Мужской
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 часа


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

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


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

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