chriskl/phpssrs

PHP SQL Server Reporting Services Client Library

Installs: 2 267

Dependents: 1

Stars: 6

Watchers: 2

Language: PHP

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

README

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

See also: Report Server Web Service Endpoints on TechNet

Contributors

Originally developed by Chris Kings-Lynne, https://github.com/chriskl/phpssrs

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:

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

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

<?php
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,
    'features' => SOAP_SINGLE_ELEMENT_ARRAYS & SOAP_USE_XSI_ARRAY_TYPE,
    'login' => 'DOMAIN\\samaccountname',
    'password' => '###########'
], 'http://<ssrs server>/ReportServer/ReportService2010.asmx?wsdl');

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

Namespaces

The available SOAP clients are:

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