0

我正在从 Oracle BI 调用 CodeIgniter 项目中的 xml 流作为 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流;

<root>
   <report>
     <id>130</id>
   </report>
</root>
4

0 回答 0