SAPфорум.RU
https://sapboard.ru/forum/

Обращение к Веб-сервисам
https://sapboard.ru/forum/viewtopic.php?f=70&t=79661
Страница 1 из 1

Автор:  Tayran [ Вт, ноя 13 2012, 06:25 ]
Заголовок сообщения:  Обращение к Веб-сервисам

Добрый день всем.
Возможно, вопрос не по теме, но если кто в курсе, помогите, плиз.
Стоит задача запустить некий веб-сервис, передав туда информацию. Передавать информацию в этот веб-сервис через строку нельзя, он так не работает, решили сделать АБАП-прокси. Сделали, настроили логический порт через rfc. RFC соединение проверили, коннект проходит успешно. Запускаю в тестовом режиме метод АБАп-проски... и выдает вот такую ошибку:

SoapFaultCode:4 System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: . at
System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest() at System.Web.Services.Protocols.SoapServerProtocol.Rou
teRequest(SoapServerMessage message) at System.Web.Services.Protocols.SoapServerProtocol.Initialize() at System.Web.Services
.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortPr
ocessing)
Исключение класса CX_AI_SYSTEM_FAULT

Не могу понять, что еще упустили в настройке?
Буду благодарен любой помощи. Заранее всем большое спасибо.

Автор:  chumpa [ Вт, ноя 13 2012, 09:03 ]
Заголовок сообщения:  Re: Обращение к Веб-сервисам

через soapUI идёт нормально? старый стиль действительно требовал указания SOAP-Action но в 1.2 уже не надо.

Автор:  Tayran [ Вт, ноя 13 2012, 10:20 ]
Заголовок сообщения:  Re: Обращение к Веб-сервисам

Chumpa, я прошу прощения, а что такое SOAPui? Вернее, даже не так. Как его посмотреть, где? Потому что, что это такое я более-менее понимаю. Сегодня пошел второй день, как пытаюсь разобраться в САПе с довольно тривиальной задачей(в других языках) - обращение к Веб-сервису.
Через SE80 захожу в Сервисы предприятия, выбираю созданный АБАп-прокси, нажимаю "Тест" (F8), вводу имя логического порта (который настроен через RFC) и выбираю один из методов, который я хочу протестировать (самый простой - по сути в него передаются 2 параметра и возвращается ответ, да или нет). Формируется кусов xml запроса, сформированного автоматически. Этот кусок xml-запроса я могу поменять:
<n0:Login xmlns:n0="http://tempuri.org/" xmlns:prx="urn:sap.com:proxy:DEV:/1SAI/TAS03739D612077E78B14D5:700:2010/10/07">
<n0:strUser>This is a string 4</n0:strUser>
<n0:strPwd>This is a string 5</n0:strPwd>
</n0:Login>
Как посмотреть, целиком сформированный xml-апрос не знаю :-(
И получаю ошибку, описанную выше.
Когда запускаю то же самое через АБАп код:
data:
error type ref to cx_root,
login type zts_2login_soap_in,
cntr type prxctrl,
result type zts_2login_soap_out,
ws type ref to zts_2co_ws_pdf_soap.

create object ws
exporting
logical_port_name = 'PORT_WS'.

cntr-field = 'STR_USER'.
cntr-value = 'tek_tech'.
append cntr to login-controller.

cntr-field = 'STR_PWD'.
cntr-value = '@bL^5fD8'.
append cntr to login-controller.

" после вывода следующего метода вылетает в дамп :-(
call method ws->login
exporting
input = login
importing
output = result
А в дампе описана та ошибка, которая получается напрямую при тесте прокси.

Автор:  Tayran [ Вт, ноя 13 2012, 10:26 ]
Заголовок сообщения:  Re: Обращение к Веб-сервисам

Кстати, еще уточню, что логический порт настраивали через тр. lpconfig, может это как-то прояснит ситуацию.

Автор:  dump [ Вт, ноя 13 2012, 10:27 ]
Заголовок сообщения:  Re: Обращение к Веб-сервисам

возможно вы используете неактуальный wsdl сериса. Вы его сами "забирали" или высылал кто-то ?

Автор:  Tayran [ Вт, ноя 13 2012, 11:17 ]
Заголовок сообщения:  Re: Обращение к Веб-сервисам

Сам забирал. Не из локального файла делал, а по ссылке.

Автор:  dump [ Вт, ноя 13 2012, 11:22 ]
Заголовок сообщения:  Re: Обращение к Веб-сервисам

логический порт через soamanager настраивали ? - RFC - соединение тип HTTP ? надо как сказал Илья через soapUI попроовать http://sourceforge.net/projects/soapui/ - только версию последнюю не надо брать - там в ней косяки есть

Автор:  Tayran [ Вт, ноя 13 2012, 12:12 ]
Заголовок сообщения:  Re: Обращение к Веб-сервисам

dump написал(а):
логический порт через soamanager настраивали ? - RFC - соединение тип HTTP ? надо как сказал Илья через soapUI попроовать http://sourceforge.net/projects/soapui/ - только версию последнюю не надо брать - там в ней косяки есть


Логический порт настраивали не через soamanager, а через lpconfig. soamanager - сообще не доступен, выдает вот такую ошибку:
Service cannot be reached
What has happened?
URL http://r3-dev.tek-id.local:8000/sap/bc/ ... management call was terminated because the corresponding service is not available.

RFC - соединение тип HTTP.
Спасибо за совет, попробую установить SOAPui и потестировать прокси через него(неё).

Автор:  chumpa [ Вт, ноя 13 2012, 12:17 ]
Заголовок сообщения:  Re: Обращение к Веб-сервисам

про "Service cannot be reached", есть такой сервис в SICF?
Если запуск lpconfig не сопровождается руганью что транзакция устарела, то можно и через него.

Автор:  chumpa [ Вт, ноя 13 2012, 12:20 ]
Заголовок сообщения:  Re: Обращение к Веб-сервисам

скорее всего, не по тому соап-порту вызов. Если через soapUI или ручной просмотр wsdl увидеть порт, то надо убедиться что в тесте прокси вызов идёт туда же. В soapUI можно также увидеть в raw-вкладке, проставляется ли SOAP-Action или нет, и как сервис на это реагирует. В общем, час отладчика и поиска по SDN.

Автор:  dump [ Вт, ноя 13 2012, 12:56 ]
Заголовок сообщения:  Re: Обращение к Веб-сервисам

там еще внизу в soapUI есть еле заметные кнопки - soapUI log, http log, error log - могут быть полезными

Автор:  Tayran [ Вт, ноя 13 2012, 14:11 ]
Заголовок сообщения:  Re: Обращение к Веб-сервисам

Спасибо всем большое!
Настроили логический порт через soamanager и все заработало! Алилуя!!!
Не хватало определенных сервисов, которые успешно подняли, после этого стал доступен soamanager.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/