Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.08.2015, 12:34
Новичок на форуме
Отправить личное сообщение для sojar Посмотреть профиль Найти все сообщения от sojar
 
Регистрация: 23.08.2015
Сообщений: 1

Отправка запроса в виде XML файла на сервер и получение ответа
Всем доброго времени суток. Бьюсь над вопросом и даже понять не могу чем его решать.
есть у меня некое приложение - сервер крутится на машине и принимает команды через POST и GET запросы. С ней можно работать через curl установленный на ОС. Например необходимо мне получить от этого ПО все мои запросы и я через командную строку пишу:
Код:
curl -X GET http://localhost:8080/opt/in
дальше в ответ возвращается XML код-ответ:
Код:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<A>
  <url replyId="4ac65979-078a-46fa-b16b-dc8881ca7bc6"> http://localhost:8080/opt/in/QueryPartner/3 </url>
  <url replyId="97187eb8-fc4a-4d51-9521-19c8a3c59b59"> http://localhost:8080/opt/in/QueryPartner/5 </url>
  <ver>1</ver>
</A>
Этот вариант я решил с помощью XmlHttpRequest следующим образом:
$host = 'http://localhost:8080/opt/out?refresh=true';
var xmlhttp = new XMLHttpRequest();
var xhrp = new XMLHttpRequest();
xmlhttp.open('GET', $host, true);
xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4) {
                if(xmlhttp.status == 200) {                                     
                        $xml_in = xmlhttp.responseText; // сохраняем полученный ответ от УТМ                
//дальше пошла передача xml на сервер для обработки на PHP, парса и записи в БД
                        xhrp.open('POST', "xml_executer.php", true)
                        xhrp.setRequestHeader('Content-type', 'text/xml');
                        xhrp.send($xml_in);            
                        xhrp.onload = function() {
                                $('#ajaxOutData').html(this.responseText);   // выводим результат на странице в div id="ajaxOutData"
                        }                                       
                 }
        }
};
xmlhttp.send(null);


на php обработка в файле xml_executer.php предельно проста:
<?PHP 
        $xml = simplexml_load_string(file_get_contents("php://input"));
        foreach ($xml->url as $url) {
                echo "ссылка: ".$url;
                echo ". Атрибут: ".(string)$url['replyId'];
                echo "<br/>";
        }       
?>


Но дальше проблема возникла неожиданно. Мне необходимо на этот сервер передавать запрос в виде xml файла. На том же curl это выглядит так:
Код:
curl -F "xml_file=@C:\WebServers\home\test.ru\www\xml_in\client.xml" http://localhost:8080/opt/in/QueryPartner
Отправив этот файл сервер вернёт нам ответ в виде xml который опять таки надо передать в PHP для разбора:
Код:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<A>
        <url>ace6b133-2837-4352-8bfd-bd4bdf92e8b6</url>
<sign>LS32KKAODIE6EB5CFD4fDS32dFFKS4BA794A851C7D876SA</sign>
        <ver>2</ver>
</A>
А как в данном случае действовать на JS?? Как передать xml файл и получить нужный ответ от сервера?
Спасибо всем за внимание!!!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка файла на сервер и отправка на почту qwe88 Общие вопросы Javascript 9 13.10.2014 18:33
отправка запроса на сервер remember_me Общие вопросы Javascript 5 11.07.2013 15:25
Проблема с загрузкой файла на сервер shkarbatov Серверные языки и технологии 8 13.08.2011 00:27
Отправка файла на сервер асинхронно DDestroy Internet Explorer 0 09.03.2011 11:10
Отпрака XML файла на сервер! Goga Events/DOM/Window 2 07.06.2010 11:57