Текущее время: Вс, июл 27 2025, 12:07

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Как заставить abap proxy передавать cookies
СообщениеДобавлено: Ср, фев 27 2013, 00:12 
Начинающий
Начинающий

Зарегистрирован:
Ср, май 06 2009, 13:35
Сообщения: 6
Всем доброго времени суток! Впервые работаю с abap proxy, поэтому не закидывайте сразу камнями... Создала прокси клиент из WSDL-файла, логический порт к нему в soamanager. Тест нормально работает. Теперь обращаюсь к сервису из ABAP-программы:
Code:
REPORT  ZSPARK_TEST.

data: lo_proxy type ref to ZDKPCO_I_FAX_WEB_SERVICE_SOAP,
      ls_in_auth type ZDKPAUTHMETHOD_SOAP_IN,
      ls_out_auth type ZDKPAUTHMETHOD_SOAP_OUT,
      ls_in_region type ZDKPGET_LIST_REGION_SOAP_IN,
      ls_out_region type ZDKPGET_LIST_REGION_SOAP_OUT.

create object lo_proxy
  exporting
    logical_port_name = 'SPARKPORT'.

ls_in_auth-login = 'login'.
ls_in_auth-password = 'password'.
TRY.
CALL METHOD lo_proxy->authmethod
  EXPORTING
    input  = ls_in_auth
  IMPORTING
    output = ls_out_auth
    .
CATCH cx_ai_system_fault .
CATCH cx_ai_application_fault .
ENDTRY.

TRY.
CALL METHOD lo_proxy->get_list_region
  EXPORTING
    input  = ls_in_region
  IMPORTING
    output = ls_out_region
    .
CATCH cx_ai_system_fault .
CATCH cx_ai_application_fault .
ENDTRY.


Проблема в том, что авторизация здесь через отдельный метод - authmethod. Он возвращает True и, вероятно, какие-то Cookies. Но при вызове следующего метода получаю ошибку авторизации - видимо, cookies дальше не передаются...

Собственно, в сторону cookies стала копать из-за того, что в Demo-клиенте используемого сервиса предоставлен такой исходный код на C# для вызова метода:

Code:
string result;
string resultXml;
using (ifaxWSReference.iFaxWebService service = new ifaxWSReference.iFaxWebService())
{
   service.Url = "http://sparkgatetest.interfax.ru/IfaxWebService/ifaxwebservice.asmx";
   service.CookieContainer = new System.Net.CookieContainer();
   result = service.Authmethod("Ваш логин", "Ваш пароль");
   result = service.GetListRegion(out resultXml);
   service.End();
}
Console.WriteLine("Результат: " + result);
Console.WriteLine("Результат XML: " + resultXml);



Подскажите, можно ли как-то указать abap proxy передавать cookies? Или, может, куда-то в другую сторону нужно копать?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как заставить abap proxy передавать cookies
СообщениеДобавлено: Ср, фев 27 2013, 04:31 
Специалист
Специалист

Зарегистрирован:
Чт, мар 25 2010, 09:02
Сообщения: 207
Попробуйте в настройках прокси поменять переключатель stateful\stateless (возможно похожий переключатель есть настройках лог. порта)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как заставить abap proxy передавать cookies
СообщениеДобавлено: Ср, фев 27 2013, 08:45 
Начинающий
Начинающий

Зарегистрирован:
Ср, май 06 2009, 13:35
Сообщения: 6
AFH написал(а):
Попробуйте в настройках прокси поменять переключатель stateful\stateless (возможно похожий переключатель есть настройках лог. порта)

Поменяла - не помогло...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как заставить abap proxy передавать cookies
СообщениеДобавлено: Чт, фев 28 2013, 23:38 
Начинающий
Начинающий

Зарегистрирован:
Ср, май 06 2009, 13:35
Сообщения: 6
В итоге создала логический порт заново через lpconfig, а не через soamanager. В lpconfig отметила "Сохранение статуса" и всё заработало. В soamanager аналогичной галки нет - я поначалу в самом прокси ставила.


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

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


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

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


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

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