Текущее время: Ср, апр 24 2024, 11:56

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Service-consumer не возвращает ответ при обращении к внешнему веб-сервису
СообщениеДобавлено: Пт, окт 21 2016, 09:47 
Начинающий
Начинающий

Зарегистрирован:
Пт, окт 21 2016, 09:09
Сообщения: 3
Добрый день!
Стоит задача вызвать внешний веб-сервис и обработать ответ от него.
Создал запрос в soapui на основе wsdl сервиса- всё отлично работает. Передаю параметры и получаю сразу же ответ.
Далее решил повторить всё в абапе. Создал сначала service-consumer и уже в коде обращаюсь к сервису такой конструкцией:
Цитата:
TRY.
CALL METHOD lo_proxy->send_request
EXPORTING
input = ls_input
IMPORTING
output = ls_output.

CATCH cx_ai_system_fault .
CONTINUE.

CATCH cx_ai_application_fault .
CONTINUE.
ENDTRY

Обращение прошло успешно но структура ls_output пустая!
Нашел способ получить ответ(см.ниже), но он какой-то некрасивый и хочется понять почему не получается отделаться вызовом send_request.
Цитата:
DATA:
lo_prot_payload TYPE REF TO if_wsprotocol_payload,
lo_payload TYPE REF TO if_ws_payload,
lv_string type string.

lo_prot_payload ?= lo_proxy->get_protocol( if_wsprotocol=>payload ).

lo_payload = lo_prot_payload->get_sent_response_payload( ).

lv_string = lo_payload->get_xml_text( ).

И дальше парсинг lv_string

Заранее спасибо.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Service-consumer не возвращает ответ при обращении к внешнему веб-сервису
СообщениеДобавлено: Чт, окт 27 2016, 13:18 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, ноя 10 2004, 11:33
Сообщения: 88
Здравствуйте,

А чем именно не нравиться ответ? Ответ насколько я понимаю вернулся в виде XML?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Service-consumer не возвращает ответ при обращении к внешнему веб-сервису
СообщениеДобавлено: Пт, окт 28 2016, 20:12 
Начинающий
Начинающий

Зарегистрирован:
Пт, окт 21 2016, 09:09
Сообщения: 3
Ответ по идее должен был вернуться в структуру ls_output, тип этой структуры создался автоматом на основе wsdl сервиса. В моем случае ls_output это простая структура с несколькими полями.
Насколько я понял по отладке проблема заключается в простой трансформации, которая также сгенерировалась автоматом на основе wsdl, и отвечает за формирование ответа. Проверка синтаксиса этой трансформации показывает предупреждения. Но пока непонятно как можно исправить wsdl, чтобы она корректно создавалась.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Service-consumer не возвращает ответ при обращении к внешнему веб-сервису
СообщениеДобавлено: Ср, ноя 02 2016, 07:56 
Специалист
Специалист

Зарегистрирован:
Чт, мар 25 2010, 09:02
Сообщения: 207
В SOAMANAGER все настроено (логический порт, аутентификация и т.п.)?
Попробуйте включить трассировку и посмотреть какое генерируется тело запроса и что приходит в ответ. Совпадает ли это с xml, которые генерирует и получает soapui?


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

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


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

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot]


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

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