PHP SQL Server Reporting Services Client Library

v0.1.2 2013-10-13 02:30 UTC


Concrete SoapClient subclasses to access all four SQL Server Reporting Services endpoints:

See also: Report Server Web Service Endpoints on TechNet


Originally developed by Chris Kings-Lynne,

Pull requests are very welcome, this project is still rapidly being developed for an internal project. Send your requests against the dev branch.

SSRS Authentication

For this library to work, you will probably need to enable Basic Authentication on your report server. You must typically edit the C:\Program Files\Microsoft SQL Server\MSRS10_50\Reporting Services\ReportServer\rsreportserver.config file and add the following:

  <!-- Existing authentication methods here, eg. NTLM, Kerberos -->

And then restart Reporting Services.

Note that basic authentication will send your password in clear text over the network, so only connect via SSL, or to safe internal report servers.

Example Usage

use \PhpSsrs\ReportingService2010\ReportingService2010;
use \PhpSsrs\ReportingService2010\CreateFolder;

// Replace WSDL URL with your URL, or even better a locally saved version of the file.
$rs = new ReportingService2010([
    'soap_version' => SOAP_1_2,
    'compression' => true,
    'exceptions' => true,
    'cache_wsdl' => WSDL_CACHE_BOTH,
    'keep_alive' => true,
    'login' => 'DOMAIN\\samaccountname',
    'password' => '###########'
], 'http://<ssrs server>/ReportServer/ReportService2010.asmx?wsdl');

$request = new CreateFolder('Test Folder', '/', []);
$response = $this->rs->CreateFolder($request);


The available SOAP clients are:

  • \PhpSsrs\ReportExecutionService\ReportExecutionService
  • \PhpSsrs\ReportingService2005\ReportingService2005
  • \PhpSsrs\ReportingService2006\ReportingService2006
  • \PhpSsrs\ReportingService2010\ReportingService2010