я вызываю поток XML, который в проекте CodeIgniter из Oracle BI, как источник данных файла XML. Обычно он работает правильно, когда я вызываю через url вручную, даже он отлично работает на одном сервере за пределами CodeIgniter и на другом сервере. Примеры, как показано ниже, я проверил все, что касается авторизации (например, ограничения IP), но я не мог найти решение, связанное с проблемой.
Не работает;
http://test.myintranet/report/index.php/ws?param=130
Работает хорошо, вот;
http://test.kolkhoba.net/ws.php?param=130
http://test.myintranet/report/test/index.php?param=130
Настройка настроек;
config->routes.php
$route['ws'] = 'WS_Controller/index';
config->config.php
$config['permitted_uri_chars'] = 'a-z 0-9~%\.:_\-&=';
WS_Controller / index (содержимое XML);
<?php
class WS_Controller extends MY_Controller {
public function index() {
$domain = $_SERVER['HTTP_HOST'];
$path = $_SERVER['SCRIPT_NAME'];
$queryString = $_SERVER['QUERY_STRING'];
$url = $domain . $path . "?" . $queryString;
mail("mail@myintranet", $_SERVER['REMOTE_ADDR'] ." called ws xml service at " . date("h:i:sa"), $url);
$param = $_GET['param'];
header("Content-type: text/xml");
$inner = "";
$inner .= "<report>";
$inner .= sprintf("<id>%s</id>", $param);
$inner .= "</report>";
echo sprintf("<?xml version=\"1.0\"?><root>%s</root>", $inner);
}
}
?>
Xml Stream;
<root>
<report>
<id>130</id>
</report>
</root>
Задача ещё не решена.
Других решений пока нет …