Доброе время суток.
Настраиваю http-запросы из SAP к УТМ ЕГАИС-а.
Считывание файлов настроила, проблема при отправке фалов на сервер.
Код следующий:
в SM59 создала HTTP-соединение:
Code:
        cl_http_client=>create_by_destination( EXPORTING
        destination = http_dest IMPORTING client = CLIENT ).
        request = CLIENT->request.
*    устанавливаю метод POST
    call method client->request->set_method(
      if_http_request=>CO_REQUEST_METHOD_POST ).
*    устанавливаю версию протокола
    client->request->set_version(
      if_http_request=>co_protocol_version_1_0 ).
*    content type 'multipart/form-data'
    CALL METHOD CLIENT->REQUEST->IF_HTTP_ENTITY~SET_CONTENT_TYPE
      EXPORTING
*           CONTENT_TYPE = 'text/xml'.
           CONTENT_TYPE = 'multipart/form-data'.
CALL METHOD CLIENT->REQUEST->SET_HEADER_FIELD
  EXPORTING
    NAME   = 'Accept'
*    VALUE  = 'text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8'.
    VALUE  = 'text/xml'.
CALL METHOD CLIENT->REQUEST->SET_HEADER_FIELD
  EXPORTING
    NAME   = 'Accept-Charset'
    VALUE  = 'ISO-8859-1,utf-8;q=0.7,*;q=0.7'.
CALL METHOD CLIENT->REQUEST->IF_HTTP_ENTITY~SET_FORMFIELD_ENCODING
  EXPORTING
    FORMFIELD_ENCODING = CL_HTTP_REQUEST=>IF_HTTP_ENTITY~CO_ENCODING_RAW .
  data:    part type ref to if_http_entity.
* устанавливаю имя выгружаемого файла
part =  CLIENT->REQUEST->IF_HTTP_ENTITY~ADD_MULTIPART( ).
CALL METHOD part->set_header_field
  EXPORTING
    name  = 'content-disposition'
    value = 'form-data; name="xml_file"; filename="TTNAct.xml";'.
* в переменной str  текст XML файла в бинарном виде длина 671 символ
CALL METHOD part->set_data
  EXPORTING
    data   = str
    offset = 0.
*и делаю отправку
call method client->send
  EXPORTING
    timeout                    = 200
  EXCEPTIONS
    http_communication_failure = 1
    http_invalid_state         = 2
    http_processing_failed     = 3
    others                     = 4.
В ответ ошибка 500 Error Server
В логах УТМ сл. ошибка : Элемент ns:Documents должен завершаться символом >  или />
получается что при выгрузке файла на сервер часть данных обрезается.
кто сталкивался с данной проблемой????
P.S.  XML файл следующего формата
<?xml version="1.0" encoding="UTF-8"?>
<ns:Documents Version="1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns= "http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01"
xmlns:oref="http://fsrar.ru/WEGAIS/ClientRef"
xmlns:pref="http://fsrar.ru/WEGAIS/ProductRef"
xmlns:wa= "http://fsrar.ru/WEGAIS/ActTTNSingle"
>
<ns:Owner>
<ns:FSRAR_ID>011111111</ns:FSRAR_ID>
</ns:Owner>
<ns:Document>
<ns:WayBillAct>
<wa:Header>
<wa:IsAccept>Rejected</wa:IsAccept>
<wa:ACTNUMBER>1</wa:ACTNUMBER>
<wa:ActDate>2015-11-28</wa:ActDate>
<wa:WBRegId>TEST-TTN-1</wa:WBRegId>
<wa:Note> ПРИЧИНА </wa:Note>
</wa:Header>
<wa:Content>
</wa:Content>
</ns:WayBillAct>
</ns:Document>
</ns:Documents>