Всем доброго времени суток. Бьюсь над вопросом и даже понять не могу чем его решать.
есть у меня некое приложение - сервер крутится на машине и принимает команды через 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 файл и получить нужный ответ от сервера?
Спасибо всем за внимание!!!