Bericht abrufen

Liefert einen Bericht oder eine Liste von URLs zu den Einzelseiten eines Berichts.

URLs

GET    /api/v1/report/{TemplateID}/export

GET    /api/v1/report/{TemplateID}/export/{ExportProfileID}

Falls ExportProfileID nicht angegeben wird, wird das Defaultprofil der Berichtsvorlage verwendet.

Optionale Parameter

Übergabe möglich in URL als ?param=value oder Form-Encoded im Request-Body.

Name

Werte

Default

Funktion

nocache

true/

false

false

Wenn true, wird immer ein Export ausgelöst und nicht auf den Cache zurückgegriffen

zip

true/

false

false

Wenn true, werden alle exportierten Dateien gezippt und das Archiv zurückgeliefert

resulttype

firstpage/

pagelinks

firstpage

Wenn "firstpage", wird die erste exportierte Datei direkt zurückgeliefert. Weitere Dateien werden ignoriert.

Wenn "pagelinks", wird ein Objekt vom Typ "ExportResult" (s. unten) als JSON oder XML serialisiert zurückgeliefert, das die Pfade aller erzeugten Dateien enthält.

format

json/

xml

json

Legt das Format fest, mit dem das ExportResult-Objekt serialisiert wird, falls für resulttype "pagelinks" angegeben wurde.

$parameter

String(s)

-

Alle URL-Parameter, die mit $ beginnen, werden als Berichtsparameter an den Export durchgereicht

$param=value belegt den Berichtsparameter @param mit dem Wert 'value'.

Die Werte der Parameter müssen generell URL-encoded werden (Umlaute, Sonderzeichen etc.) gemäß RFC 3986 (wie im Browser)

Datumswerte müssen ISO 8601-formatiert sein (ohne Zeitzonenangabe), z. B. 2015-04-28T04:07:02

Mehrere Werte für einen Parameter werden mit Semikolon getrennt, z. B. $categories=1;2

 

Rückgabe

Der Request läuft solange, bis der Bericht erzeugt wurde (Code 200) oder ein Fehler aufgetreten ist.

▪    Falls resulttype=firstpage:

Es wird die erste erzeugte Datei zurückgeliefert, bei mehreren JPGs also nur das erste. In der Response wird der Content-Type-Header auf den MIME-Typ der erzeugten Datei gesetzt. Falls die zip-Option gesetzt wurde, wird das Zip-Archiv mit allen erzeugten Dateien zurückgeliefert.

▪    Falls resulttype=pagelinks

Es wird ein ExportResult-Objekt (siehe unten) zurückgeliefert, das die URLs aller erzeugten Dateien enthält. Diese sollten innerhalb weniger Minuten (< 5) abgerufen werden, da der Report Server die Dateien sonst bereits wegräumen könnte.

Fehlercodes (zusätzlich zu Allgemeine Fehlercodes)

Statuscode

Statustext

Erläuterung

500

-

Fehler beim Export. Eine lokalisierte Fehlermeldung befindet sich im Request Body.

404

ERR_INVALID_TEMPLATE

Berichtsvorlage nicht gefunden.

404

ERR_INVALID_EXPORTPROFILE

Exportprofil nicht gefunden.

403

ERR_ACCESS_DENIED

Keine Zugriffsrechte auf Berichtsvorlage / Datenquelle.

410

GONE

Kann auftreten wenn resulttype=pagelinks. Die angeforderte Datei wurde bereits vom RS weggeräumt, da sie nicht rechtzeitig abgerufen wurde.

 

Rückgabe-Typ: ExportResult

Wird zurückgeliefert (als XML oder JSON), wenn ein Bericht mit mehreren Dateien abgerufen wird (und der resulttype-Parameter = "pagelinks" war).

▪    FileUrls: ist ein String-Array mit absoluten URLs zu den erzeugten Dateien. Diese sind nur für kurze Zeit abrufbar und werden danach gelöscht! Falls die Datei nicht mehr verfügbar ist, liefert der Server 410 GONE

▪    ExpiresOnUTC: ist ein ISO-8601 formatiertes Datum (UTC-Zeit), ab dem der Bericht nicht mehr gültig ist (entspricht internen Cache-Zeit vom RS, aber NICHT der Zeit, zu der die Dateien weggeräumt werden)

▪    IsFromCache: ist true, wenn der Bericht aus dem RS-Cache geliefert und nicht neu exportiert wurde.

▪    RelativeFilePaths: ist ein String-Array, das die relativen Dateipfade der Dateien in FileUrls enthält (relativ zu der Datei, die die erste Seite des Berichts enthält). Beispiel: 'images/page1/chart2.jpg'. Die Reihenfolge der beiden Arrays ist gleich, sodass der relative Pfad in RelativeFilePaths[i] zur der Datei gehört, die unter FileUrls[i] heruntergeladen werden kann.

▪    FirstPageFilePath: enthält den relativen Pfad der Datei (in der Regel einen einfachen Dateinamen), in der sich die erste Seite des Berichts befindet.  Beispiel beim HTML-Export: 'index.html'.

Als XML

<?xml version="1.0" encoding="utf-16"?>

<ExportResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<ReportName>delayed test</ReportName>

<IsFromCache>true</IsFromCache>

<FileUrls>

<string>http://<servername>/rs29/api/v1/report/2551186E-F854-4D1A-ACAE-8ABA02241AE2/tempresult/Rjg3ODZGMUQtQ0Y0RC00QjlELTlFQjUtQTAxRUQ3Mzc1QTRFL3Jlc3VsdC56aXA/result</string>

</FileUrls>

<ExpiresOnUTC>2015-04-13T21:34:52</ExpiresOnUTC>

</ExportResult>

Als JSON

{

"ReportName": "delayed test",

"IsFromCache": true,

"FileUrls": [

"http://<servername>/rs29/api/v1/report/2551186E-F854-4D1A-ACAE-8ABA02241AE2/tempresult/Rjg3ODZGMUQtQ0Y0RC00QjlELTlFQjUtQTAxRUQ3Mzc1QTRFL3Jlc3VsdC56aXA/result"   

],

"ExpiresOnUTC": "2015-04-13T21:34:52"

}