Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Synapse отправка XML, Synapse отправка XML 
:(
    Опции темы
tarakan
Дата 20.1.2016, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 11.11.2008

Репутация: нет
Всего: нет



Здравствуйте, помогите пожалуйста разобраться с отправкой XML файла.
по инструкции
Цитата
Сформировать xml-файл (client.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:qp="http://fsrar.ru/WEGAIS/QueryParameters">
<ns:Owner>
<ns:FSRAR_ID>00040218</ns:FSRAR_ID>
</ns:Owner>
<ns:Document>
<ns:QueryClients>
<qp:Parameters>
<qp:Parameter>
<qp:Name>ИНН</qp:Name>
<qp:Value>1681000049</qp:Value>
</qp:Parameter>
</qp:Parameters>
</ns:QueryClients>
</ns:Document>
</ns:Documents>

Отправить запрос (1.5.1) в УТМ с помощью команды вида:
curl -F''[email protected]'' http://localhost:8080/opt/in/QueryPartner

Что я и делаю
Код
procedure TFmMain.BitBtn2Click(Sender: TObject);
  var
    XMLDoc : TXMLDocument;
    HTTP : THTTPSend;
    FS: TFileStream;
    s : string;
begin
  try
    Memo1.Clear;
    XMLDoc := TXMLDocument.Create(Application);
    with XMLDoc do
      begin
        Options := Options + [doNodeAutoIndent];
        Active := True;
        Version := '1.0';
        Encoding := 'UTF-8';
        with AddChild('ns:Documents') do
          begin
            Attributes['Version'] := '1.0';
            Attributes['xmlns:xsi'] := 'http://www.w3.org/2001/XMLSchema-instance';
            Attributes['xmlns:ns'] := 'http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01';
            Attributes['xmlns:oref'] := 'http://fsrar.ru/WEGAIS/ClientRef';
            Attributes['xmlns:qp'] := 'http://fsrar.ru/WEGAIS/QueryParameters';
            with AddChild('ns:Owner') do ChildValues['ns:FSRAR_ID'] := '020000616195';
            with AddChild('ns:Document') do
              with AddChild('ns:QueryClients') do
                with AddChild('qp:Parameters') do
                  with AddChild('qp:Parameter') do
                    begin
                      ChildValues['qp:Name'] := 'ИНН';
                      ChildValues['qp:Value'] := '6143063881';
                    end;
            SaveToFile('C:\temp\client.xml');
          end;
      end;
    FS := TFileStream.Create('C:\temp\client.xml', fmOpenRead);
    FS.Position := 0;
    HTTP := THTTPSend.Create;
    HTTP.Document.CopyFrom(FS, FS.Size);
    //HTTP.Document.SaveToFile('C:\temp\client111.xml'); //Проверка, что документ есть
    if HTTP.HTTPMethod('POST', 'http://localhost:8080/opt/in/QueryPartner') then
      begin
        s := HTTP.ResultString+':'+IntToStr(HTTP.ResultCode);
        ShowMessage(s);
        Memo1.Lines.Add(s);
      end;
  finally
    FreeAndNil(XMLDoc);
  end;
end;

Получаю ошибку
Цитата
Server Error:500

Подскажите где я ошибся???
PM MAIL   Вверх
CynicRus
Дата 24.1.2016, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 248
Регистрация: 31.5.2012

Репутация: нет
Всего: 5



А вебсервер то стоит локальный, и на нём лежит этот самый opt/in/QueryPartner ? Ибо чтобы отправить post на localhost, на локальной машине должен быть развёрнут Апач или ещё какой нибудь Нгинкс, а на нём должно быть развёрнуто решение, которое жуёт эти XML. А, ну и вебсервер со всей требухой должен быть запущен.
PM MAIL   Вверх
kami
Дата 31.1.2016, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1806
Регистрация: 25.8.2007
Где: Санкт-Петербург

Репутация: 6
Всего: 72



Судя по всему, что-то на этом порту сидит (не факт, что это "что-то" нужное автору), потому что 500 - internal server error. Т.е. запрос до сервера дошел, но во время его обработки возникло "фатальное" исключение, сообщение о котором сервер отправил. Именно на стороне сервера.
Если бы ничего не слушало этот порт - было бы 10060 или 10061
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1067 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.