【问题标题】:PHP JasperReports Server API ErrorPHP JasperReports 服务器 API 错误
【发布时间】:2016-04-26 17:30:45
【问题描述】:

我试图最终在 PHP 应用程序中运行和显示来自远程 Jasper 服务器的报告。我正在尝试使用的是 github 上的 jrs-rest-php-client 项目。

错误:

Fatal error: Uncaught exception 'Jaspersoft\Exception\RESTRequestException' with message 'An unexpected HTTP status code was returned by the server' in C:\xampp\htdocs\jrs\vendor\src\Jaspersoft\Tool\RESTRequest.php:409 
Stack trace: 
#0 C:\xampp\htdocs\jrs\vendor\src\Jaspersoft\Tool\RESTRequest.php(479): Jaspersoft\Tool\RESTRequest->handleError(0, Array, false) 
#1 C:\xampp\htdocs\jrs\vendor\src\Jaspersoft\Service\ReportService.php(40): Jaspersoft\Tool\RESTRequest->prepAndSend('https://jasper....', Array, 'GET', NULL, true) 
#2 C:\xampp\htdocs\jrs\report.php(30): Jaspersoft\Service\ReportService->runReport('/Reports/Distri...', 'html') 
#3 {main} thrown in C:\xampp\htdocs\jrs\vendor\src\Jaspersoft\Tool\RESTRequest.php on line 409

我的 PHP:

require_once __DIR__ . "/vendor/autoload.php";
use Jaspersoft\Client\Client;
$d = new Client(
    "http://jasper.server.com/jasperserver-pro",
    "username",
    "password",
    "organization"
);  
$info = $d->serverInfo();

有什么想法吗?

【问题讨论】:

    标签: php rest xampp jasper-reports jasperserver


    【解决方案1】:

    查看RESTRequest.php的代码有两种情况会抛出这个异常:

    • 返回带有未知错误代码的 JSON 结果集(未知含义与 200 OK 不同)
    • 根本没有返回 JSON 结果集

    所以我怀疑连接不能正常工作。要了解更多信息,您应该在代码中捕获异常并对其进行评估:

    它可能看起来像这样(我更熟悉 Java):

    try {
        $d = new Client(
            "http://jasper.server.com/jasperserver-pro",
            "username",
            "password",
            "organization"
        );  
    
        $info = $d->serverInfo();
    
    } catch (RESTRequestException $e) {
        echo 'RESTRequestException:';
        echo 'Exception message:   ',  $e->getMessage(), "\n";
        echo 'Set parameters:      ',  $e->parameters, "\n";
        echo 'Expected status code:',  $e->expectedStatusCodes, "\n";
        echo 'Error code:          ',  $e->errorCode, "\n";
    }
    

    如果还是有错误,可以检查以下:

    • 能否从部署此代码的服务器访问 jasper 服务器?有时例如防火墙设置可能会干扰。
    • 组织的名称是否与服务器中组织属性中定义的完全一样? (打开仓库/右键组织/属性/resource-id)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      • 2017-11-01
      • 2016-06-18
      • 2011-07-12
      • 2013-09-24
      • 2017-05-22
      • 1970-01-01
      相关资源
      最近更新 更多