SAPфорум.RU https://sapboard.ru/forum/ |
|
ABAP consumer proxy на async интерфейсе - не создать порт https://sapboard.ru/forum/viewtopic.php?f=70&t=85158 |
Страница 1 из 1 |
Автор: | jnw [ Вт, дек 03 2013, 19:13 ] |
Заголовок сообщения: | ABAP consumer proxy на async интерфейсе - не создать порт |
Доброе время суток! Ситуация следующая: в PI (7.02) сделан async outbound interface, по которому надо на строне ERP создать ABAP consumer proxy. С помощью SPROXY все хорошо получается (создание и активация), но вот при попытке создать порт в SOAMANAGER нашей вновь созданной прокси там не видно. Самое интересное, что для sync outbound все работает: после создания прокси-класса он появляется в SOAMANAGER и можно создать порт. В инете http://scn.sap.com/message/13386632 нашел такую глубокую мысль: "... If you have missing Soap Runtime configuration in ECC you wan't see async services in SOAMANAGER". Вопрос собственно, в следующем: так и должно быть или нужно что-то подкрутить в Soap Runtime configuration? Если так и должно быть, то как создавать порты для sync consumer ABAP proxy: с использованием obsolete LPCONFIG или есть другой способ? Заранее благодарен! |
Автор: | pitroff [ Ср, дек 04 2013, 00:02 ] |
Заголовок сообщения: | Re: ABAP consumer proxy на async интерфейсе - не создать порт |
jnw, вопрос можно? Я правильно понял, что Вы собираетесь сделать следующее: Внешний клиент ->(SOAP)->ERP->(ABAP consumer proxy)->PI -> и далее куда-то.. Вопрос - а может быть в таком варианте проще внешний клиент ->(SOAP adapter)->PI -> и далее? Если же "клиент"->ERP - это принципиально, то в приведенной Вами ссылке есть пара хороших документов: "How to Develop, Monitor and Debug WS Consumer and Provider" (PI 7.0) - http://scn.sap.com/docs/DOC-16224 Как раз Ваш случай, в первой части описано, как настроить и проверить WS-RM, во второй - как создать, сгенерировать и опубликовать асинхронный сервис. И более детальный документ - "Configuring Web Service Scenarios" (PI 7.1) http://www.sdn.sap.com/irj/scn/go/porta ... 4646712135 |
Автор: | jnw [ Ср, дек 04 2013, 16:12 ] |
Заголовок сообщения: | Re: ABAP consumer proxy на async интерфейсе - не создать порт |
Добрый день! Спасибо за ответ. Немножко не так. Схема следующая: ERP (ABAP proxy consumer) -> PI (async outbound interface) -> далее куда-то... При этом, если создать на стороне ERP соответствующий consumer ABAP proxy, то его почему-то не видно в SOAMANAGER. Первый документ я смотрел, сделал, как там написано, но не помогло: прокси в SOAMANAGER так и не появился. Второй посмотрю, спасибо. |
Автор: | pitroff [ Вс, дек 08 2013, 21:25 ] |
Заголовок сообщения: | Re: ABAP consumer proxy на async интерфейсе - не создать порт |
Добрый день! Забавная задачка, поковырял глубже. Дело, скорее всего, в "ньюансах". Очередная версия: Проверьте параметр "State" у интерфейса - должно быть "Released". (в меню Service Interface -> Properties) Для порядка - хотя бы у одной операции интерфейса нужно тоже поставить статус "Released". Потом нужно перегенерировать прокси (в SPROXY State на вкладке Properties тоже будет Released). Проверил (на 7.4 Dual Stack), вроде работает. P.S.: Пытался добиться обратного - изменив State с "Released" на "Not released" убрать интерфейс из SOAMANAGER. Не удалось. ) Где-то в кэшах сидит. |
Автор: | Shvetz [ Пн, дек 09 2013, 16:00 ] |
Заголовок сообщения: | Re: ABAP consumer proxy на async интерфейсе - не создать порт |
Если версия PI действительно 7.0x ,и , если мне не изменяет память, то там нет Service Interface Operations , а вместо Service Interface там Message Interface . И вроде бы нет параметра Release state в Java интерфейсе. Чисто вопрос для себя: А для чего используете SOAMANAGER в данном процессе? Чем обычная прокся не устраивает? |
Автор: | pitroff [ Пн, дек 09 2013, 17:33 ] |
Заголовок сообщения: | Re: ABAP consumer proxy на async интерфейсе - не создать порт |
Да, Вы правы, забыл про это. Переход с Message Interface на Service Interface + Operations был после 7.0. К сожалению, посмотреть в 7.0 сейчас негде, нет такой системы под рукой. Но release state, кажется, был у Software Component - можно еще там проверить. ИМХО, асинхронные прокси блокируются поиском по какому-то незначительному признаку, что заложено в код очередным индусом. В документации нигде не сказано, что они не могут быть использованы в SOAMANAGER. Вообще, с поиском в SOAMANAGER какая-то беда, судя по наличию нот на эту тему: 1253962 - SOAMANAGER: Searching with setting "BOTH" (7.0 - 7.1) 1869110 - Search in Web Service Configuration (7.40) |
Автор: | dump [ Вт, дек 10 2013, 14:51 ] |
Заголовок сообщения: | Re: ABAP consumer proxy на async интерфейсе - не создать порт |
soamanger нужен для создания локального порта - когда получатель не PI. У автора немного каша в голове - если используется PI не нужен никакой soamanager - порт ( а вернее адрес PI IE ) настраивается в SXMB_ADM в настройках локальной интеграционной машины - обратитесь к вашему PI щику если он есть. |
Автор: | pitroff [ Вт, дек 10 2013, 15:47 ] |
Заголовок сообщения: | Re: ABAP consumer proxy на async интерфейсе - не создать порт |
dump, да, можно напрямую из ABAP класс прокси вызвать, не указывая логический порт - и вызов уйдет на сервер, прописанный в SXMB_ADM. Настройки, которые нужно сделать в ERP: Configuration of Business Systems with an Integration Engine Но "раз уж мы тут все так развлекаемся"(С) - прокси все равно не показываются, на SDN эта тема поднималась дважды, ответа пока четкого не было. В 7.4 я проверил, в более ранних релизах - нет. У кого под рукой ERP не самый новый есть (базис 6.4, 7.0) - будет время, попробуйте? |
Автор: | jnw [ Пт, мар 20 2015, 18:41 ] |
Заголовок сообщения: | Re: ABAP consumer proxy на async интерфейсе - не создать порт |
Всем спасибо за ответы! Про то, что для вызова ERP (ABAP Proxy Consumer) -> PI порт не требуется, мне когда-то рассказывали умные люди Только вот не заработало, хотя в SXMB_ADM все настроено правильно (все остальное работает). Поэтому пришлось создать порт (Runtime = Web Service Infractucture) и заработало только после того, как в параметре Path Suffix прописали "полный путь": XISOAPAdapter/MessageServlet?channel=:XXX:YYY&version=3.0&Sender.Service=XXX&Interface=http://xxx/xxx/xxxl^MI_ZZZ_AO&QualityOfService=ExactlyOnce (QualityOfService - обязательно, без этого тоже не работает). Но без порта все равно попробую, благо повод появился А вот с SOAMANAGER так ничего не получилось. По-прежнему не видит асинхронные интерфейсы, даже несмотря на Status=Released. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |