Текущее время: Чт, мар 28 2024, 22:33

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Отправка SOAP сообщения к Веб-сервису.
СообщениеДобавлено: Вс, июл 22 2018, 00:18 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 08:40
Сообщения: 226
Здравствуйте!
Есть готовое к отправке SOAP сообщение, можно ли его как-то отправить средствами ABAP, без создания servise consumer на стороне SAP.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отправка SOAP сообщения к Веб-сервису.
СообщениеДобавлено: Пн, июл 23 2018, 15:19 
Специалист
Специалист

Зарегистрирован:
Вт, дек 30 2008, 18:10
Сообщения: 171
Пол: Мужской
skaa написал(а):
Здравствуйте!
Есть готовое к отправке SOAP сообщение, можно ли его как-то отправить средствами ABAP, без создания servise consumer на стороне SAP.


Можно через OLE
Msxml2.XMLHTTP.6.0
Msxml2.XMLHTTP.3.0
Msxml2.XMLHTTP
Microsoft.XMLHTTP


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отправка SOAP сообщения к Веб-сервису.
СообщениеДобавлено: Вт, июл 24 2018, 13:24 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 18 2010, 15:38
Сообщения: 97
ну вроде бы можно сам по себе request создать.
https://help.sap.com/saphelp_nwpi71/hel ... cache=true
но зачем? всякие проблемы с security будут же


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отправка SOAP сообщения к Веб-сервису.
СообщениеДобавлено: Вт, июл 31 2018, 12:41 
Младший специалист
Младший специалист

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

Можно вот так.
xml_req - должен быть Ваш запрос.
xml_resp - ответ
Code:
http_dest = destination.
    cl_http_client=>create_by_destination( EXPORTING
    destination = http_dest IMPORTING client = client ).

    CALL METHOD client->request->set_method(
      if_http_request=>co_request_method_get ).


    CALL METHOD client->request->set_header_field
      EXPORTING
        name  = '~request_method'
        value = 'POST'.

*  call method client->request->set_header_field
*    exporting
*      name  = '~server_protocol'
*      value = 'HTTPS'.
*      value = 'HTTP/1.1'.

    IF method IS NOT INITIAL.
      CALL METHOD client->request->set_header_field
        EXPORTING
          name  = '~request_uri'
          value = method.

      CALL METHOD client->request->set_header_field
        EXPORTING
          name  = 'Content-Type'
          value = 'text/xml;  charset=utf-8;'.

    ENDIF.

*    call method client->request->set_formfield_encoding
*      exporting
*        formfield_encoding = 4110.

    CALL METHOD client->request->set_data
      EXPORTING
        data   = xml_req
        offset = 0.


*  CALL METHOD client->request->set_cdata
*    EXPORTING
*      data   = wf_string
*      offset = 0
*      length = rlength.

* send and receive
    CALL METHOD client->send
      EXCEPTIONS
        http_communication_failure = 1
        http_invalid_state         = 2
        http_processing_failed     = 3
        http_invalid_timeout       = 4
        OTHERS                     = 5.
    IF sy-subrc <> 0.
*      raise connection_error.
    ENDIF.

    CALL METHOD client->receive
      EXCEPTIONS
        http_communication_failure = 1
        http_invalid_state         = 2
        http_processing_failed     = 3
        OTHERS                     = 4.

    rc = sy-subrc. "error receive
    IF rc = 0.
**http status code
      client->response->get_status( IMPORTING code = http_rc ).
      IF http_rc <> 200.
        CLEAR: xml_resp.
        xml_resp = client->response->get_data( ).
*        gxml_resp = client->response->get_cdata( ).
      ELSE. "status 200 ->>OK
        CLEAR: xml_resp.
        xml_resp = client->response->get_data( ).
*        gxml_resp = client->response->get_cdata( ).
      ENDIF.
    ELSEIF rc = 1.
      DATA: lv_subrc TYPE sy-subrc
            , lv_error TYPE string.
      client->get_last_error( IMPORTING code = lv_subrc message = lv_error ).
      MESSAGE e040(ZZZ) WITH http_dest lv_error.
    ENDIF.


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

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


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

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


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

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