A jelentés megnyílik a böngészőben, a paraméterek megjelennek, az exportgomb pedig hibát, üres letöltést vagy olyan fájlt eredményez, amelyet a táblázatkezelő nem hajlandó megnyitni. Ennek a kombinációnak szabványos formája van. Egy működő jelentésoldal a megjelenítést és a hitelesítést tesztelte, és semmi mást. Az export külön kérés saját válasszal, és egy kliens nélküli portálon át egy olyan átírási rétegen is áthalad, amelyet soha nem fájlletöltésekhez terveztek.

Két út, egy működő oldal

A megjelenítés és az exportálás különböző műveletek, még akkor is, ha ugyanabból a gombból indulnak. A jelentéskiszolgáló a böngészőnek rendereli az oldalt, és az exportot egy másik kimeneti bővítményen keresztül rendereli, saját tartalomtípussal és saját hibaviselkedéssel, ahogy az exportdokumentáció leírja. Egy portál, amely az elsőt tökéletesen átengedi, a másodikat még mindig elronthatja, mert a második olyan válasz, amelyre a portál nem számított. A kettő munkamenetet és címet oszt meg, és szinte semmi mást.

A működő oldalt csak a hitelesítés és az elérhetőség bizonyítékaként kezelje. Azt bizonyítja, hogy a fiók eléri a jelentéskiszolgálót, és hogy a portál továbbítja a HTML-t. Semmit sem mond a fájlválaszokról, a tartalomelhelyezés fejléceiről vagy azokról az átirányításokról, amelyek letöltésben, nem dokumentumban végződnek.

Ez az egész oka annak, hogy az exportutat külön hasonlítsuk össze, ahelyett hogy újra tesztelnénk a már működő oldalt. Két kérés, amely munkamenetet oszt meg, még mindig két kérés.

Három feltétel, amely eldönti, hol törik meg az export

Három kérdés gyorsan elhelyezi a hibát, és minden válasz más felelősre mutat.

Először, ugyanaz a jelentés, fiók és formátum helyesen exportálódik a belső hálózatról? Ha igen, a jelentéskiszolgáló és a renderelője rendben van, és a különbség a hozzáférési útvonalban van. Másodszor, a sikertelen válasz fájltartalom-típust hordoz, vagy HTML-oldalt fájlkiterjesztéssel? Ez elválasztja a renderelő hibáját a portál általi helyettesítéstől. Harmadszor, a portál átírja a kérés URL-jét, vagy eltávolít fejléceket a válaszból? Egy átírt URL teljesen más végpontra kerülhet.

Válaszoljon mindháromra, mielőtt bármely beállítást módosít, mert mindegyiknek más a gyógymódja. A renderelő hibája a jelentéskiszolgálóé, a helyettesített törzs a portálé, az eltávolított fejléc pedig nem hiba, hanem szabályzat kérdése.

Írja le a válaszokat. Az a három sorból felépített támogatási eset tíz képernyőképet ér.

Az exportválaszt olvassa, ne a státuszkódot

Egy sikeres HTTP-státusz csak azt bizonyítja, hogy valami válaszolt a kérésre. Vizsgálja meg a törzset és a fejléceket együtt, mert az érdekes hiba egy sikeres válasz rossz tartalommal.

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

A fejléc-kiírás megmutatja a tartalomtípust és minden tartalomelhelyezést, amelyet a portál visszaadott. A file parancs azonosítja, mi a törzs valójában, és egy szövegfájl ott, ahol táblázatkezelőt vártunk, a klasszikus helyettesített bejelentkező oldal. A head parancs eleget mutat a HTML felismeréséhez anélkül, hogy egy egész jelentést a terminálba ömlesztene.

Távolítsa el a munkamenet-sütiket és a tokeneket, mielőtt bármit megosztana belőle. Egy működő export rögzítése hasznos bizonyíték, és egy másvalakihez tartozó munkamenet rögzítése incidens.

A kivételt az alkalmazásra szűkítse, ne a fiókra

Ha a portál átírja vagy blokkolja a választ, a csábító javítás az egész webhely mentesítése vagy a jelentés névtelenné tétele. Mindkettő kijavítja a letöltést és megszünteti a portál létezésének okát. A szűkített kivétel egy alkalmazásútvonalat, egy tartalomtípust és egy irányt nevez meg, és az szabályzat tulajdonosa számára továbbra is felülvizsgálható marad.

Azt az átjáróverziót használja, amelyet valóban futtat, és annak dokumentált alkalmazásbeállításait. Egy lehetőség, amelyet egy szállító egyszer úgy írt le, hogy változatlanul hagyja a forgalmat, nem általános utasítás, és egy régi fórumtémából lemásolni az az út, amelyen egy ideiglenes kivétel tartós architektúrává válik.

Ha a kivétel nem szűkíthető ilyen szorosan, az export valószínűleg a belső útvonalhoz tartozik más hozzáférési módszerrel, nem a portál mögé. A teljes webhelyre szóló mentesség a portál tulajdonosának döntése, nem egy jelentés kerülőútja.

Az exportot fogadja el, ne a Mentés párbeszédablakot

Az utolsó ellenőrzés maga a fájl: megnyílik, tartalmazza a várt oszlopokat, és összegei megegyeznek a felhasználó által jóváhagyott jelentéssel.

A Mentés párbeszédablak megjelenése nem siker, és egy javítási figyelmeztetéssel megnyíló fájl sem siker. Hasonlítson össze egy sorszámot és egy ismert értéket a képernyőn látható jelentéssel, mert a csonkolt export átmegy minden olyan teszten, amely csak a fájlméretet nézi. Aztán exportáljon másodszor is, mert egy gyorsítótár-réteg, amely egyszer rossz törzset szolgál ki, a következő próbálkozásnál a jót szolgálhatja.

Fogadja el a munkafolyamatot, amelyre a felhasználónak szüksége volt, és semmi kevesebbet. Egy rossz alkalmazásban megnyíló letöltés még mindig sikertelen export.

Kapcsolódó cikkek