De Rapport geet am Browser op, d’Parameter ginn gerendert, an den Exportknäppchen erzeugt e Feeler, en eidele Download oder eng Datei, déi d’Tabell verweigert opzemaachen. Déi Kombinatioun huet eng Standardform. Eng funktionéierend Rapportsäit huet Rendering an Authentifikatioun getest an soss näischt. Den Export ass eng separat Ufro mat senger eegener Äntwert, an duerch e Portal ouni Client geet en och duerch eng Ëmschreifschicht, déi ni fir Dateidownloads entworf gouf.

Zwee Weeër, eng funktionéierend Säit

Rendering an Export sinn ënnerschiddlech Operatiounen, och wann se vum selwechte Knäppchen ausgoen. De Rapportserver rendert d’Säit fir e Browser an exportéiert iwwer eng aner Ausgabserweiderung mat hirem eegene Contenu-Typ an hirem eegene Feelerverhalen, wéi d’Exportdokumentatioun beschreift. E Portal, deen déi éischt perfekt duerchléisst, kann déi zweet nach ëmmer verschummen, well déi zweet eng Äntwert ass, déi de Portal net erwaart huet ze gesinn. Déi zwou deelen eng Sessioun an eng Adress, a bal näischt anescht.

Betruecht déi funktionéierend Säit nëmmen als Beweis fir Authentifikatioun an Erreechbarkeet. Si beweist, datt de Kont de Rapportserver erreeche kann an datt de Portal HTML weiderleet. Si seet näischt iwwer Dateiäntwerten, Contenu-Dispositioun-Header oder Ëmleetungen, déi an engem Download amplaz an engem Dokument ophalen.

Dat ass de ganzen Grond, den Exportwee fir sech ze vergläichen, amplaz d’Säit, déi schonn funktionéiert, nach eng Kéier ze testen. Zwou Ufroen, déi eng Sessioun deelen, sinn nach ëmmer zwou Ufroen.

Dräi Konditiounen, déi entscheeden, wou den Export bricht

Dräi Froen placéieren de Feeler séier, an all Äntwert weist op ee anere Besëtzer.

Éischtens, exportéiert dee selwechte Rapport, Kont a Format sech korrekt aus dem internen Netz? Wann jo, sinn de Rapportserver an säi Renderer an der Rei an den Ënnerscheed läit am Zougangswee. Zweitens, dréit déi feelend Äntwert en Datei-Contenu-Typ, oder eng HTML-Säit mat enger Dateierweiderung? Dat trennt e Rendererfeeler vun enger Ersetzung duerch de Portal. Drëttens, schreift de Portal d’URL vun der Ufro ëm oder huet en Header aus der Äntwert ewechgeholl? Eng ëmgeschriwwe URL kann op engem ganz aneren Endpunkt landen.

Äntwert op all dräi, ier Dir eng Astellung ännert, well all eng aner Remedur huet. E Rendererfeeler gehéiert zum Rapportserver, e ersetzte Body gehéiert zum Portal, an en ewechgehollene Header ass eng Politikfro an net e Feeler.

Schreift d’Äntwerten op. En Supportfall aus dësen dräi Zeilen ass zéng Screenshotte wäert.

Liest d’Exportäntwert amplaz de Statuscode

En HTTP-Erfollegsstatus beweist nëmmen, datt eppes d’Ufro beäntwert huet. Iwwerpréift de Body an d’Header zesummen, well dee interessante Feeler eng erfollegräich Äntwert mat dem falsche Contenu ass.

curl -sS -D export.headers -o export.bin --location "https://portal.example.com/reports/export?format=xlsx"
file export.bin
head -c 300 export.bin

Den Header-Dump weist den Contenu-Typ an all Contenu-Dispositioun, déi de Portal zréckginn huet. D’Kommand file identifizéiert, wat de Body tatsächlech ass, an eng Textdatei, wou eng Tabell erwaart gouf, ass déi klassesch ersetzte Login-Säit. D’Kommand head weist genuch, fir HTML ze erkennen, ouni e ganze Rapport an en Terminal ze schëdden.

Entfernt Sessiounscookien an Token, ier Dir iergendeppes dovu deelt. Eng Opnam vun engem funktionéierenden Export ass nëtzlechen Beweis, an eng Opnam vun enger Sessioun, déi engem aneren gehéiert, ass en Tëschefall.

Grenzt d’Ausnam op d’Applikatioun an, net op de Kont

Wann de Portal d’Äntwert ëmschreift oder blockéiert, ass déi verlockend Reparatur, déi ganz Säit auszehuelen oder de Rapport anonym ze maachen. Béides reparéiert den Download an hëlt de Grond ewech, firwat de Portal existéiert. Eng enk Ausnam benennt ee Applikatiounswee, een Contenu-Typ an eng Richtung, an si bleift iwwerpréifbar vun deem, deen d’Politik huet.

Benotzt d’Gateway-Versioun, déi Dir tatsächlech bedreift, an hir dokumentéiert Applikatiounsastellungen. Eng Optioun, déi en Händler eng Kéier als den Traffic onverännert beschriwwen huet, ass keng allgemeng Instruktioun, an se aus engem ale Forumsthread ze kopéieren ass de Wee, wéi eng temporär Ausnam eng permanent Architektur gëtt.

Wann d’Ausnam net sou enk ka begrenzt ginn, gehéiert den Export wahrscheinlech op den internen Wee mat enger anerer Zougangsmethod amplaz hannert de Portal. Eng Ausnam fir déi ganz Säit ass eng Entscheedung vum Portalbesëtzer, net e Wee ronderëm fir ee Rapport.

Akzeptéiert den Export, net den Späicheren-Dialog

Déi lescht Kontroll ass d’Datei selwer: si geet op, si hält déi erwaart Kolonnen, an hir Totalen entspriechen dem Rapport, deen de Benotzer guttgeheescht huet.

Datt en Späicheren-Dialog erschéngt ass keen Erfolleg, an eng Datei, déi sech mat enger Reparaturwarnung opmécht, ass och keen Erfolleg. Vergläicht eng Zeilenzuel an een bekannte Wäert mam Rapport um Bildschierm, well en ofgeschniddene Export all Test besteet, deen nëmmen op d’Dateigréisst kuckt. Exportéiert dann nach eng Kéier, well eng Cache-Schicht, déi eemol de falsche Body liwwert, dee nächste Versuch vläicht de richtege liwwert.

Akzeptéiert de Workflow, deen de Benotzer gebraucht huet, an näischt manner. En Download, deen an der falscher Applikatioun opgeet, ass nach ëmmer en feelgeschloenen Export.

Ähnlech Artikelen