Сторонний сервис отправляет на сервер необработанную XML-строку, чтобы она была обработана. Тем не менее, это не обрабатывается. Как настроить прием необработанной строки xml?
Этот php-сайт был недавно перенесен для размещения на BlueHost от другого поставщика. Там, где он был размещен ранее, он смог обработать XML. После перехода на BlueHost он не работает. Я немного изменил код, чтобы он отправлялся по электронной почте, если он туда попал, просто чтобы посмотреть, ударил ли он по нему и нет. Я проверил журналы доступа, и единственное, что я мог сказать, - то, что в то время, когда третья сторона сделала запрос, это похоже на ошибку 406. Я не могу связаться со старым провайдером, чтобы предоставить, если какая-либо конфигурация сервера.
Предполагается, что когда третья сторона передает xml, она отправляет копию по электронной почте и вставляет запись в таблицу данных. Пока, похоже, этого не происходит.
Так что я не уверен, в чем может быть проблема и с чего начать. Мы будем благодарны за любую помощь.
Обновление:
Приведенный ниже код подтверждает, что IP-адрес действителен и, если это так, должен обрабатывать строку XML. Я получил все IP-адреса от третьей стороны, поэтому нет прерывания. Я добавил код, чтобы написать мне, если он зашел на эту страницу. До сих пор не получили никаких писем.
require_once "loader.php";
// Initiate Parse
$Feed = new FeedParser();
$Job = new Job();
$IP = $_SERVER['REMOTE_ADDR'];
// Initiate Job Model
if($Job->verifyIP($IP) == false){
$headers = "From: webapp@certainplace.com\r\n";
mail('someemail@somewhere.com', 'Failed', 'The following ip failed: '.$IP, $headers);
die("Your IP address is not white listed. please contact system adminstrator.");
}else{
$headers = "From: webapp@certainplace.com\r\n";
mail('someemail@somewhere.com', 'Here', 'Made it here', $headers);
}
// Capture XML By Key
$xml = file_get_contents('php://input');
if($xml != '') {
$headers = "From: webapp@certainplace.com\r\n";
$options = "-fwebapp@certainplace.com";
mail('someemail@somewhere.com', 'XML Code', $xml, $headers, $options);
$Job->addXML($xml);
}
Я обнаружил это в журнале доступа, предоставленном BlueHost, когда третья сторона попыталась сделать запрос:
<ip 1> - - [11/Oct/2019:12:00:24 -0600] "POST /xml_parse/ HTTP/1.1" 406 226 "-" "-" www.certainplace.com <ip 2>
Так что, похоже, что-то происходит, ноСервер, кажется, блокирует запрос.