Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

Call SAP Service without importing [D7]


A Memmedov   (06.06.18 12:27

Pri 2 om poste (IdHTTP.Post(p_url, v_Request2, response2);) polucayu osibki
http/1.1 500 internal server error . Kto nibut smojet naytiosibku?

Function GetSoapXMLResult(p_url,p_username,p_password,p_barcode: AnsiString;p_salepoint:string): Integer;
 var
   IdHTTP     : TIdHTTP;
   v_tt : WideString;
   XML_Result1 : WideString;

   XML_Result2 : WideString;
   V_Url      : String;
   F          : TextFile;
   response1   : TStringStream;
   response2   : TStringStream;
   v_XmlData1  : wideString;
   v_XmlData2  : wideString;
   v_Request1  : TStream;
   v_Request2  : TStream;
   v_result : Integer;
     LHandler: TIdSSLIOHandlerSocketOpenSSL;
 begin
     v_XmlData1 :=CreateSoapRequestWeb(p_username,p_password,p_barcode,1,p_salepoint );
     v_XmlData2 :=CreateSoapRequestWeb(p_username,p_password,p_barcode,2,p_salepoint);
     v_Request1 := TStringStream.Create(v_XmlData1, TEncoding.UTF8, true);
     v_Request2 := TStringStream.Create(v_XmlData2, TEncoding.UTF8, true);
     response1   := TStringStream.Create('', TEncoding.UTF8);
     response2   := TStringStream.Create('', TEncoding.UTF8);

     LHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
     IdHTTP := TIdHTTP.Create();
     IdHTTP.IOHandler:=LHandler;
     IdHTTP.ConnectTimeout:=30000;
     IdHTTP.Request.ContentType  :='application/soap+xml';
     IdHTTP.Request.BasicAuthentication:= true;
     IdHTTP.Request.Username := p_username;
     IdHTTP.Request.Password := p_password;

     IdHTTP.Response.ContentType     :='application/soap+xml';
     IdHTTP.Response.ContentEncoding :='UTF-8';

     try
       IdHTTP.Post(p_url, v_Request1, response1);
       XML_Result1 :=response1.DataString;
     except
       v_Request1.Free;
       v_Request2.Free;
       response1.Free;
       response2.Free;
       IdHTTP.Free;
       GetSoapXMLResult:=-3;
       Exit;
     End;
     v_result:=XML_Result1
     Sleep(500);
     if v_result='200'  then
     Begin
       try
         IdHTTP.Post(p_url, v_Request2, response2);
         XML_Result2 :=response2.DataString;
       except
         v_Request1.Free;
         v_Request2.Free;
         response1.Free;
         response2.Free;
         IdHTTP.Free;
         GetSoapXMLResult:=-4;
         Exit;
       End;
       v_Request1.Free;
       v_Request2.Free;
       response1.Free;
       response2.Free;
       IdHTTP.Disconnect();
       IdHTTP.Free;
       v_result:=XML_Result2;
       if v_result='200'   then
         GetSoapXMLResult:=2
       else
         GetSoapXMLResult:=-v_result;

     end
     else
     Begin
       v_Request1.Free;
       v_Request2.Free;
       response1.Free;
       response2.Free;
       IdHTTP.Disconnect();
       IdHTTP.Free;
       GetSoapXMLResult:=-v_result;
     End;

 end;


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо