krek753

krek753
Рейтинг
104
Регистрация
15.12.2008
webinfo #:

Насчёт "не нужно" - это вопрос спорный.  А почему "невозможно"? Нет доступа к серверу?

В любом случае невозможно решить задачу не зная подробностей. Вопрос типа: "Скажите что сделать, но менять ничего нельзя" - нерешаемый.

Есть уже работающее API. Запрос выполняется из Postman, ранее уже тестировалась.

Цель такова, чтобы реализовать у себя принимающую строну.
В первом примере это POST запрос сгенереный   Postman. Отправка успешна. А вот в принимающем коде, что-то не так.


Там просто пусто. 

$postData = file_get_contents('php://input');
$xml=simplexml_load_string($postData);

        $file=fopen("route.txt", "a+");
        fwrite($file, "$xml");
        
print_r ($xml);
echo "Принято";
Документация:

Обмен данными в протоколе производится через протокол
HTTP. Передача и прием данных производится в формате XML, с
использованием кодировки UTF-8.

Ответы с сервера должны поступать по протоколу HTTP c кодом
200 и HTTP-заголовком “Content-Type”, имеющим значение
“application/xml; charset=UTF-8”.
Тело XML- ответа должно начинаться с объявления <?xml
version="1.0" encoding="UTF-8"?>. Регистр названий тегов и
атрибутов должен совпадать с регистром из примеров.
XML-ответ в обязательном порядке имеет корневой тег, название
которого должно соответствовать формату
"<НазваниеМетодаResponse>" (например EchoResponse,
SearchTripsResponse) Если ответ корректный, то данные ответа
содержатся во вложенном теге <Body>. Если ответ не
корректный, информация об ошибке должна находиться во 
вложенном теге <Error>, который состоит из кода ошибки в теге
<code> и описания ошибки в теге <message>. Код ошибок в
приложении. Описание - это произвольные текст на русском
языке, поясняющий причину ошибки. Некоторые методы
допускают пустой ответ. Пустой ответ содержит только корневой
тег.

Передаю я верно все, там код менять не нужно и невозможно, так как интеграция уже проведена.

Хочу подстроиться под уже существующую интеграцию API.

Но принять XML запрос не получается. 

Какие есть еще варианты получить POST запрос XML ?
Ilya74 #:
XML-документ передать в виде значения параметра

1. Я не могу передать документ.
2. Пусто.

Уважаемые, подскажите, чем нынче контент с ключами от юзера прячут?

LEOnidUKG:
ох ёмаё.

Файлы сохраните в utf-8 без BOM и приучайтесь именно в этом формате делать.

Спасибо) обыно по умолчанию такая кодировка стоит:)

LEOnidUKG:
Ну у вас чудеса. Что теперь делать. Наверное у вас PHP с какой-то особенной приблудой.

У вас входной файл точно эти цифры или всё же нет? Какая кодировка файла?

Вот все в файле

zip del.zip
LEOnidUKG:
Запустил, ничего не оставляет. Никаких дублей.

Удалите ваши файлы выходные, возможно в них проблема.
Или если на серваке выполняете то права на файл выставите, чтобы скрипт записывал.

Уже и на локалке запустил, всеравно оставляет

1

1

2

3

4

а если в исходном поставить пустую строку сверху, то все норм

LEOnidUKG:
Ой короче.


$filename = @file("direction.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
if (!$filename) die('Неверный файл !');
$filename=array_unique($filename);
file_put_contents('direction2.txt',implode($filename,"\r\n"));

Все равно оставляет дубли в начале

---------- Добавлено 12.07.2014 в 12:14 ----------

дани мапов:
Код рабочий, разве что в начале вставить $arr = array();, прикрепите текстовый файл.

да любой фаел, например вот так

1

1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4


---------- Добавлено 12.07.2014 в 12:17 ----------

Почему он нулевую строку не берет непонятно
XPraptor:
Вас могли ломануть и сливать от вас моб трафик себе на пп. Проверьте .htaccess файл на предмет разделения мобильного трафика и обычного. Также в коде сайта могли скриптом залить такой редирект - ищите.

Было такое, пофиксил уже давно

Рекламы на сайте нет.

На счет уведомления я тоже думал подожду, но уже месяц почти прошел а ничего не нет

Всего: 92