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

Часовой пояс: 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 часа


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

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


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

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