abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    včera 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 6
    včera 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    včera 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 8
    včera 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    17.4. 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    17.4. 17:44 | IT novinky

    Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).

    Ladislav Hagara | Komentářů: 1
    KDE Plasma 6
     (68%)
     (10%)
     (2%)
     (19%)
    Celkem 561 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Datové schránky

    Skupina zaměřená na koordinaci a shromažďování informací prospěšných projektu Multiplatformní přístup pro datové schránky.

    Informace o skupině
    Založena: 5. 10. 2009
    Členů: 26
    Článků: 0
    Wiki stránek: 7
    Dotazů: 22
    Akcí: 0
    Čtenost: 25 %
    Skóre: 19

    Dotaz: Prototyp pro stáhnutí zpráv z Datové schránky

    11.11.2009 13:00 vrosecky | skóre: 5
    Prototyp pro stáhnutí zpráv z Datové schránky
    Přečteno: 47700×
    Přílohy:
    Mám funkční prototyp v Javě pro stažení seznamu zpráv z datové schránky, stáhnutí příloh zpráv a stáhnutí podepsané zprávy bez ověření. Ke své činnosti potřebuje jen pár tříd z knihovny Apache Commons Codec, které jsou v archivu. Syntaxe je následující:
    java -jar TinyDataBox.jar login heslo dir
    
    Na standardní výpis zapíše seznam posledních 50 přijatých zpráv a přílohy a podepsanou zprávu stáhne do adresáře dir. Funguje to jenom proti testovacímu prostředí, Mintaka sem dával přihlašovací údaje k několika datovým schránkám, takže tohle uloží zprávy z této DS do adresáře dir:
    java -jar TinyDataBox.jar 5s59sd Ab123456 dir
    
    Knihovna je malá, ke své činnosti nepotřebuje žádné další knihovny a s menšími obtížemi by snad měla jít rozchodit pod Androidem či jinými mobilním zařizeními s podporou Javy (podpora XML na úrovni SAX parseru a HTTP klient s podporou SSL). Tahle malá knihovna nebude podporovat plnou funkcionalitu už z podstaty věcí (pracné parsování výsledků volání webových služeb SAX parserem).

    Momentálně pracuji na knihovně, která bude podporovat plnou funkcionalitu a pro volání webových služeb využívá knihovnu javaws. Až zautomatizuji build process, tak ji zveřejním na veřejném repozitory (github?). S touto knihovnou bude sdílet společné rozhraní.

    V příloze příkládám jar archiv a zdrojáky k této knihovně.

    Odpovědi

    11.11.2009 13:39 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Super :-)
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    12.11.2009 07:57 Stanislav Valasek | skóre: 23 | blog: sloboda
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Ahoj Leoši a Roberte.

    Nie je čas, založiť source code repository?
    patička?
    15.11.2009 06:44 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Asi by bylo vhodné mít jednu oficiální repozitoř pro všechny projekty. Jakou? Google code, sourceforge nebo giticious?
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    otasomil avatar 12.11.2009 17:05 otasomil | skóre: 39 | blog: puppylinux
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky

    Nemam co bych dodal ....

    Proste jasny, funkcni vzorek.

    K čemu hudba, která nevede k extázi... Stop MDMA !!! I spam umí být roztomilý
    16.11.2009 12:15 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Pokusil jsem se to modifikovat pro obsluhu ostre verze DS, ale nejsem uspesny skrze redirect. HttpResponse se mi vraci s touto hlavickou: Content-Type: text/html; charset=UTF-8, Content-Length: 0, Pragma: no-cache Location: https://www.mojedatovaschranka.cz:443/nesp/app/plogin?c=isds/basic/name/password&%22https://www.mojedatovaschranka.cz:443/DS/df%22 Set-Cookie: IPCZQX03a36c6c0a=4900f90155a16d2ded17d04f90fd75500c1a2fc4; path=/; domain=.mojedatovaschranka.cz; secure; HttpOnly Nejaky napad?
    16.11.2009 13:05 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    V čem je problém? Ty hlavičky jsou správně, je potřeba se přesměrovat na zmíněnou adresu.
    16.11.2009 14:48 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Omlouvam se, ale nerozumim terminu "se presmerovat" ;-)
    16.11.2009 15:32 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Zavolat metodu GET na adresu vrácenou v hlavičce Location. Normální přesměrování v protokolu HTTP. Pokud vám HTTP protokol nic neříká, asi je zbytečné se tím zdrojákem zabývat, není to nic jiného než právě posílání XML zpráv přes HTTP spojení (přesněji přes šifrované HTTPS).
    16.11.2009 16:31 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Ty změny ve zdrojácích se týkali čeho? Testovací prostředí by mělo být totožné s produkčním, takže by mělo stačit pouze přehodit URL (viz třída Config) z https://www.czebox.cz/DS/ na https://www.mojedatovaschranka.cz/DS/.

    V přiloženém výpisu je autorizační cookie, takže určitě muselo dojít k několika přesměrováním. Kde je teda problém?
    16.11.2009 19:56 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Zdravim, samo vim co je http i redirect, jen je pro mne trochu obtizne se orientovat v cizim kodu, kdyz nemam zkusenosti s ws. Pochopil jsem z clanku, ze se jedna o odladeny kod, ktery funguje a tak mne zarazilo, ze kdyz jsem vzal kod tak, jak je, zmenil URL, tak to nefunguje a konci to tim, ze 302. A nenasel jsem v kodu rutinu, ktera by parsovala Location a znovu zasilala request. Asi to tedy fuguje jinak. Chtel jsem vedet, jestli to neni nejaky obvykly problem. Pokud ne, hledam dal.
    16.11.2009 20:14 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Ještě tedy upřesním, co se děje: Aplikace končí s ClientTransportException: The server sent HTTP status code 401: Unauthorized při volání this.dataBoxManipulationService.findDataBox(...) První, mně podezřelá věc, je však už při provádění loginImpl(), kde tato funkce vrací false, protože je result.statusline HTTP/1.1 302 Found. Takže se neprovede processCookies().

    16.11.2009 21:25 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Bavíme se tu teda o prototypu Filipa Jirsáka z jiného vlákna, že? Ten můj prototyp totiž nemá žádnou metodu dataBoxManipulationService.findDataBoxx(...).
    16.11.2009 21:55 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Pokud myslíte ten můj prototyp, je divné, že kód 302 nezpracuje přímo knihovna HttpClient. Buď se to dá zapnout nějakým parametrem, nebo by bylo nutné tento kód zpracovat ručně. Ale je mi divné, že by ostrá verze vracela jiné hlavičky, než testovací – leda že by se to změnilo od té doby, co jsem ten prototyp psal.
    16.11.2009 22:20 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Omlouvam se za zmatek, v kodu je skutecne podepsan p. Jirsak. Moje chyba, uz jsem udelal tolik ruznych pokusu, ze uz mam bordel v testovacich variantach. Provedu pokusy odznovu, ale vubec se mi do toho uz nechce. HttpClient ma parametr redirectHandler, kterej je null. Uz mne napada jen problem s verzema knihoven. Mam tu posledni jdk1.6 a JAX-WS 2.1.7, jeste neco muze mit vliv?
    16.11.2009 22:29 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    A verze Apache HttpClienta?
    16.11.2009 22:33 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Tohle přesměrování provádí knihovna HttpClient, dával jsem tam verzi 4.0-beta2 (novější tenkrát nebyla). Přesměrování by se mělo zapnout parametrem HANDLE_REDIRECTS. Při zapnutém logování by mělo být vidět příchozí a odchozí HTTP komunikaci. Podle toho se dá poznat, jestli je tohle první přesměrování tímto kódem (a tedy může být problém v tom, jak HttpClient zpracovává tento konkrétní kód), nebo jestli se tímto kódem přesměrovávají už předchozí požadavky (pak by byl problém někde jinde).
    16.11.2009 22:42 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    K jistým změnám došlo, viz zde. To by mohl být ten problém.
    16.11.2009 23:00 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Snad je to v té release verzi HttpClienta jen změna výchozí hodnoty parametru určujícího automatické přesměrování, nevidím důvod, proč by tam mělo dojít k jiné změně. Navíc by to s tou betaverzí mělo pořád fungovat, pokud jste si ji v POMu nezměnil.
    17.11.2009 10:21 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Zdravim a dekuji za asistenci. Verze httpclient je 4.0 (jedna z knihoven, uz nevim ktera mi nesla ze stazeneho baliku rozbalit, takze mam knihovny stazene orig.) Buildi mi to eclipse, mavena nepouzivam. Ted koukam, ze skutecne prispevek od sakiss popisuje pravdepodobny zdroj problemu. :-) Skoda, ze jsem jej necetl podrobneji, usetril bych si cas, jak pise. Podivam se na dokumentaci ohledne redirectu, snad z toho neco vyctu.
    17.11.2009 19:15 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Tak jsem zkoumal prirucky, ale nic moc vysledek.
    2009/11/17 19:00:32:134 CET [DEBUG] SingleClientConnManager - Get connection for route HttpRoute[{s}->https://www.mojedatovaschranka.cz]
    2009/11/17 19:00:33:325 CET [DEBUG] ClientParamsStack - 'http.tcp.nodelay': true
    2009/11/17 19:00:33:325 CET [DEBUG] ClientParamsStack - 'http.socket.buffer-size': 8192
    2009/11/17 19:00:33:371 CET [DEBUG] ClientParamsStack - 'http.protocol.version': HTTP/1.1
    2009/11/17 19:00:33:393 CET [DEBUG] ClientParamsStack - 'http.useragent': Apache-HttpClient/4.0 (java 1.5)
    2009/11/17 19:00:33:394 CET [DEBUG] RequestAddCookies - CookieSpec selected: best-match
    2009/11/17 19:00:33:407 CET [DEBUG] DefaultRequestDirector - Attempt 1 to execute request
    2009/11/17 19:00:33:407 CET [DEBUG] DefaultClientConnection - Sending request: POST /DS/df HTTP/1.1
    2009/11/17 19:00:33:407 CET [DEBUG] wire - >> "POST /DS/df HTTP/1.1[EOL]"
    2009/11/17 19:00:33:408 CET [DEBUG] wire - >> "Content-Length: 0[EOL]"
    2009/11/17 19:00:33:409 CET [DEBUG] wire - >> "Host: www.mojedatovaschranka.cz[EOL]"
    2009/11/17 19:00:33:409 CET [DEBUG] wire - >> "Connection: Keep-Alive[EOL]"
    2009/11/17 19:00:33:409 CET [DEBUG] wire - >> "User-Agent: Apache-HttpClient/4.0 (java 1.5)[EOL]"
    2009/11/17 19:00:33:409 CET [DEBUG] wire - >> "[EOL]"
    2009/11/17 19:00:33:409 CET [DEBUG] headers - >> POST /DS/df HTTP/1.1
    2009/11/17 19:00:33:409 CET [DEBUG] headers - >> Content-Length: 0
    2009/11/17 19:00:33:409 CET [DEBUG] headers - >> Host: www.mojedatovaschranka.cz
    2009/11/17 19:00:33:409 CET [DEBUG] headers - >> Connection: Keep-Alive
    2009/11/17 19:00:33:409 CET [DEBUG] headers - >> User-Agent: Apache-HttpClient/4.0 (java 1.5)
    2009/11/17 19:00:33:455 CET [DEBUG] wire - << "HTTP/1.1 302 Found[EOL]"
    2009/11/17 19:00:33:458 CET [DEBUG] wire - << "Content-Type: text/html; charset=UTF-8[EOL]"
    2009/11/17 19:00:33:459 CET [DEBUG] wire - << "Content-Length: 0[EOL]"
    2009/11/17 19:00:33:459 CET [DEBUG] wire - << "Pragma: no-cache[EOL]"
    2009/11/17 19:00:33:459 CET [DEBUG] wire - << "Location: https://www.mojedatovaschranka.cz:443/nesp/app/plogin?c=isds/basic/name/password&%22https://www.mojedatovaschranka.cz:443/DS/df%22[EOL]"
    2009/11/17 19:00:33:459 CET [DEBUG] wire - << "Set-Cookie: IPCZQX03a26c6c0a=1700530068f8f83703066c59ac881c367f8aa543; path=/; domain=.mojedatovaschranka.cz; secure; HttpOnly[EOL]"
    2009/11/17 19:00:33:459 CET [DEBUG] wire - << "[EOL]"
    2009/11/17 19:00:33:460 CET [DEBUG] DefaultClientConnection - Receiving response: HTTP/1.1 302 Found
    2009/11/17 19:00:33:460 CET [DEBUG] headers - << HTTP/1.1 302 Found
    2009/11/17 19:00:33:460 CET [DEBUG] headers - << Content-Type: text/html; charset=UTF-8
    2009/11/17 19:00:33:460 CET [DEBUG] headers - << Content-Length: 0
    2009/11/17 19:00:33:460 CET [DEBUG] headers - << Pragma: no-cache
    2009/11/17 19:00:33:460 CET [DEBUG] headers - << Location: https://www.mojedatovaschranka.cz:443/nesp/app/plogin?c=isds/basic/name/password&%22https://www.mojedatovaschranka.cz:443/DS/df%22
    2009/11/17 19:00:33:460 CET [DEBUG] headers - << Set-Cookie: IPCZQX03a26c6c0a=1700530068f8f83703066c59ac881c367f8aa543; path=/; domain=.mojedatovaschranka.cz; secure; HttpOnly
    2009/11/17 19:00:33:468 CET [DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: IPCZQX03a26c6c0a][value: 1700530068f8f83703066c59ac881c367f8aa543][domain: .mojedatovaschranka.cz][path: /][expiry: null]". 
    2009/11/17 19:00:33:469 CET [DEBUG] DefaultRequestDirector - Connection can be kept alive indefinitely
    2009/11/17 19:00:33:469 CET [DEBUG] ClientParamsStack - 'http.protocol.handle-redirects': true
    Redirect target: https://www.mojedatovaschranka.cz:443/nesp/app/plogin?c=isds/basic/name/password&%22https://www.mojedatovaschranka.cz:443/DS/df%22
    Exception in thread "main" com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 401: Unauthorized
    	at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.checkStatusCode(HttpTransportPipe.java:196)
    	at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:168)
    	at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:83)
    	at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:105)
    	at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:587)
    	at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:546)
    	at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:531)
    	at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:428)
    	at com.sun.xml.internal.ws.client.Stub.process(Stub.java:211)
    	at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:124)
    	at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98)
    	at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
    	at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
    	at $Proxy32.findDataBox(Unknown Source)
    	at Main.search(Main.java:63)
    	at Main.main(Main.java:28)
    17.11.2009 22:18 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Řešením je napsat vlastní RedirectHandler, který se postará o přesměrování a nastavit ho metodou setRedirectHandler(RedirectHandler redirectHandler). Úspěšně jsem to vyzkoušel na Jirsákově prototypu. Evidentně se tyto verze HttpClienta liší v tom, jak řeší přesměrování.
    17.11.2009 22:30 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Mimochodem, to přesměrování řešíte jak? Z výpisu to vypadá, že jste nastavil vlastnost http.protocol.handle-redirects na true a přesto se přihlášení nepovede. Ale jak jsem již psal, tak řešení s vlastním RedirectHandlerem funguje i s verzí 4.0.
    17.11.2009 23:14 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Co dělá ten vlastní redirect handler jiného, než ten vestavěný ve verzi 4.0 HttpClienta?
    18.11.2009 06:51 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Takze, vratil jsem se zpet, ziskal spravne verze knihoven a rozchodil prototyp proti czebox.cz. Funguje, redirectuje. Nasledne jsem to zmenil na mojedatovaschranka.cz a nefunguje to. Zde je wiretap:
    2009/11/18 06:49:52:234 CET [DEBUG] SingleClientConnManager - Get connection for route HttpRoute[{s}->https://www.mojedatovaschranka.cz]
    2009/11/18 06:49:56:812 CET [DEBUG] ClientParamsStack - 'http.protocol.version': HTTP/1.1
    2009/11/18 06:49:56:812 CET [DEBUG] ClientParamsStack - 'http.useragent': Apache-HttpClient/4.0-beta2 (java 1.5)
    2009/11/18 06:49:56:812 CET [DEBUG] RequestAddCookies - CookieSpec selected: best-match
    2009/11/18 06:49:56:843 CET [DEBUG] DefaultRequestDirector - Attempt 1 to execute request
    2009/11/18 06:49:57:453 CET [DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: IPCZQX03a36c6c0a][value: 2b00620155a1a14602b4b5af6397f561799fe284][domain: .mojedatovaschranka.cz][path: /][expiry: null]". 
    2009/11/18 06:49:57:453 CET [DEBUG] DefaultRequestDirector - Connection can be kept alive for -1 ms
    2009/11/18 06:49:57:453 CET [DEBUG] DefaultRedirectHandler - Redirect requested to location 'https://www.mojedatovaschranka.cz:443/nesp/app/plogin?c=isds/basic/name/password&%22https://www.mojedatovaschranka.cz:443/DS/df%22'
    2009/11/18 06:49:57:453 CET [DEBUG] DefaultRequestDirector - Redirecting to 'https://www.mojedatovaschranka.cz:443/nesp/app/plogin?c=isds/basic/name/password&%22https://www.mojedatovaschranka.cz:443/DS/df%22' via HttpRoute[{s}->https://www.mojedatovaschranka.cz:443]
    2009/11/18 06:49:57:453 CET [DEBUG] SingleClientConnManager - Releasing connection org.apache.http.impl.conn.SingleClientConnManager$ConnAdapter@cf66b
    2009/11/18 06:49:57:453 CET [DEBUG] SingleClientConnManager - Get connection for route HttpRoute[{s}->https://www.mojedatovaschranka.cz:443]
    2009/11/18 06:49:57:453 CET [DEBUG] DefaultClientConnection - Connection shut down
    2009/11/18 06:49:58:296 CET [DEBUG] ClientParamsStack - 'http.protocol.version': HTTP/1.1
    2009/11/18 06:49:58:296 CET [DEBUG] ClientParamsStack - 'http.useragent': Apache-HttpClient/4.0-beta2 (java 1.5)
    2009/11/18 06:49:58:296 CET [DEBUG] RequestAddCookies - CookieSpec selected: best-match
    2009/11/18 06:49:58:296 CET [DEBUG] RequestAddCookies - Cookie [version: 0][name: IPCZQX03a36c6c0a][value: 2b00620155a1a14602b4b5af6397f561799fe284][domain: .mojedatovaschranka.cz][path: /][expiry: null] match [(secure)www.mojedatovaschranka.cz:443/nesp/app/plogin]
    2009/11/18 06:49:58:296 CET [DEBUG] DefaultRequestDirector - Attempt 2 to execute request
    2009/11/18 06:49:59:078 CET [DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: UrnNovellNidpClusterMemberId][value: ~03~02ffz~19~0E~0E~7D][domain: www.mojedatovaschranka.cz][path: /nesp][expiry: null]". 
    2009/11/18 06:49:59:078 CET [DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: urn:novell:nidp:cluster:member:id][value: ~03~02ffz~19~0E~0E~7D][domain: www.mojedatovaschranka.cz][path: /nesp][expiry: null]". 
    2009/11/18 06:49:59:078 CET [DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: JSESSIONID][value: 418F2851A4950037A927E3AEF2C99C0A][domain: www.mojedatovaschranka.cz][path: /nesp][expiry: null]". 
    2009/11/18 06:49:59:078 CET [DEBUG] DefaultRequestDirector - Connection can be kept alive for -1 ms
    2009/11/18 06:49:59:078 CET [DEBUG] DefaultRedirectHandler - Redirect requested to location 'https://login.mojedatovaschranka.cz/nidp/idff/sso?RequestID=idYoJsqqcH9HdKjFXsIy78fsbd2nI&MajorVersion=1&MinorVersion=2&IssueInstant=2009-11-18T05%3A49%3A59Z&ProviderID=https%3A%2F%2Fwww.mojedatovaschranka.cz%3A443%2Fnesp%2Fidff%2Fmetadata&RelayState=MA%3D%3D&consent=urn%3Aliberty%3Aconsent%3Aunavailable&ForceAuthn=false&IsPassive=false&NameIDPolicy=onetime&ProtocolProfile=http%3A%2F%2Fprojectliberty.org%2Fprofiles%2Fbrws-art&target=https%3A%2F%2Fwww.mojedatovaschranka.cz%3A443%2FDS%2Fdf&AuthnContextStatementRef=isds%2Fbasic%2Fname%2Fpassword'
    2009/11/18 06:49:59:078 CET [DEBUG] DefaultRequestDirector - Redirecting to 'https://login.mojedatovaschranka.cz/nidp/idff/sso?RequestID=idYoJsqqcH9HdKjFXsIy78fsbd2nI&MajorVersion=1&MinorVersion=2&IssueInstant=2009-11-18T05%3A49%3A59Z&ProviderID=https%3A%2F%2Fwww.mojedatovaschranka.cz%3A443%2Fnesp%2Fidff%2Fmetadata&RelayState=MA%3D%3D&consent=urn%3Aliberty%3Aconsent%3Aunavailable&ForceAuthn=false&IsPassive=false&NameIDPolicy=onetime&ProtocolProfile=http%3A%2F%2Fprojectliberty.org%2Fprofiles%2Fbrws-art&target=https%3A%2F%2Fwww.mojedatovaschranka.cz%3A443%2FDS%2Fdf&AuthnContextStatementRef=isds%2Fbasic%2Fname%2Fpassword' via HttpRoute[{s}->https://login.mojedatovaschranka.cz]
    2009/11/18 06:49:59:078 CET [DEBUG] SingleClientConnManager - Releasing connection org.apache.http.impl.conn.SingleClientConnManager$ConnAdapter@1e0f2f6
    2009/11/18 06:49:59:078 CET [DEBUG] SingleClientConnManager - Get connection for route HttpRoute[{s}->https://login.mojedatovaschranka.cz]
    2009/11/18 06:49:59:078 CET [DEBUG] DefaultClientConnection - Connection shut down
    2009/11/18 06:50:02:140 CET [DEBUG] ClientParamsStack - 'http.protocol.version': HTTP/1.1
    2009/11/18 06:50:02:140 CET [DEBUG] ClientParamsStack - 'http.useragent': Apache-HttpClient/4.0-beta2 (java 1.5)
    2009/11/18 06:50:02:140 CET [DEBUG] RequestAddCookies - CookieSpec selected: best-match
    2009/11/18 06:50:02:140 CET [DEBUG] RequestAddCookies - Cookie [version: 0][name: IPCZQX03a36c6c0a][value: 2b00620155a1a14602b4b5af6397f561799fe284][domain: .mojedatovaschranka.cz][path: /][expiry: null] match [(secure)login.mojedatovaschranka.cz:443/nidp/idff/sso]
    2009/11/18 06:50:02:140 CET [DEBUG] DefaultRequestDirector - Attempt 3 to execute request
    2009/11/18 06:50:03:265 CET [DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: UrnNovellNidpClusterMemberId][value: ~03~02ffz~1D~0A~0Aw][domain: login.mojedatovaschranka.cz][path: /nidp][expiry: null]". 
    2009/11/18 06:50:03:265 CET [DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: urn:novell:nidp:cluster:member:id][value: ~03~02ffz~1D~0A~0Aw][domain: login.mojedatovaschranka.cz][path: /nidp][expiry: null]". 
    2009/11/18 06:50:03:265 CET [DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: JSESSIONID][value: 37FD9A7D4C52FBF631C643DD546367FB][domain: login.mojedatovaschranka.cz][path: /nidp][expiry: null]". 
    2009/11/18 06:50:03:265 CET [DEBUG] DefaultRequestDirector - Connection can be kept alive for -1 ms
    2009/11/18 06:50:03:265 CET [DEBUG] DefaultRequestDirector - Target requested authentication
    2009/11/18 06:50:03:265 CET [DEBUG] DefaultTargetAuthenticationHandler - Authentication schemes in the order of preference: [ntlm, digest, basic]
    2009/11/18 06:50:03:265 CET [DEBUG] DefaultTargetAuthenticationHandler - Challenge for ntlm authentication scheme not available
    2009/11/18 06:50:03:265 CET [DEBUG] DefaultTargetAuthenticationHandler - Challenge for digest authentication scheme not available
    2009/11/18 06:50:03:265 CET [DEBUG] DefaultTargetAuthenticationHandler - basic authentication scheme selected
    2009/11/18 06:50:03:265 CET [DEBUG] DefaultRequestDirector - Authorization challenge processed
    2009/11/18 06:50:03:265 CET [DEBUG] DefaultRequestDirector - Authentication scope: BASIC '/nidp'@login.mojedatovaschranka.cz:443
    2009/11/18 06:50:03:281 CET [DEBUG] DefaultRequestDirector - Found credentials
    2009/11/18 06:50:03:281 CET [DEBUG] ClientParamsStack - 'http.useragent': Apache-HttpClient/4.0-beta2 (java 1.5)
    2009/11/18 06:50:03:281 CET [DEBUG] RequestAddCookies - CookieSpec selected: best-match
    2009/11/18 06:50:03:281 CET [DEBUG] RequestAddCookies - Cookie [version: 0][name: IPCZQX03a36c6c0a][value: 2b00620155a1a14602b4b5af6397f561799fe284][domain: .mojedatovaschranka.cz][path: /][expiry: null] match [(secure)login.mojedatovaschranka.cz:443/nidp/idff/sso]
    2009/11/18 06:50:03:281 CET [DEBUG] RequestAddCookies - Cookie [version: 0][name: UrnNovellNidpClusterMemberId][value: ~03~02ffz~1D~0A~0Aw][domain: login.mojedatovaschranka.cz][path: /nidp][expiry: null] match [(secure)login.mojedatovaschranka.cz:443/nidp/idff/sso]
    2009/11/18 06:50:03:281 CET [DEBUG] RequestAddCookies - Cookie [version: 0][name: urn:novell:nidp:cluster:member:id][value: ~03~02ffz~1D~0A~0Aw][domain: login.mojedatovaschranka.cz][path: /nidp][expiry: null] match [(secure)login.mojedatovaschranka.cz:443/nidp/idff/sso]
    2009/11/18 06:50:03:281 CET [DEBUG] RequestAddCookies - Cookie [version: 0][name: JSESSIONID][value: 37FD9A7D4C52FBF631C643DD546367FB][domain: login.mojedatovaschranka.cz][path: /nidp][expiry: null] match [(secure)login.mojedatovaschranka.cz:443/nidp/idff/sso]
    2009/11/18 06:50:03:281 CET [DEBUG] DefaultRequestDirector - Attempt 4 to execute request
    2009/11/18 06:50:04:390 CET [DEBUG] DefaultRequestDirector - Connection can be kept alive for -1 ms
    2009/11/18 06:50:04:390 CET [DEBUG] DefaultRedirectHandler - Redirect requested to location 'https://login.mojedatovaschranka.cz:443/nidp/idff/sso?sid=1'
    2009/11/18 06:50:04:390 CET [DEBUG] DefaultRequestDirector - Redirecting to 'https://login.mojedatovaschranka.cz:443/nidp/idff/sso?sid=1' via HttpRoute[{s}->https://login.mojedatovaschranka.cz:443]
    2009/11/18 06:50:04:390 CET [DEBUG] SingleClientConnManager - Releasing connection org.apache.http.impl.conn.SingleClientConnManager$ConnAdapter@1a68ef9
    2009/11/18 06:50:04:390 CET [DEBUG] SingleClientConnManager - Get connection for route HttpRoute[{s}->https://login.mojedatovaschranka.cz:443]
    2009/11/18 06:50:04:390 CET [DEBUG] DefaultClientConnection - Connection shut down
    2009/11/18 06:50:05:609 CET [DEBUG] ClientParamsStack - 'http.protocol.version': HTTP/1.1
    2009/11/18 06:50:05:609 CET [DEBUG] ClientParamsStack - 'http.useragent': Apache-HttpClient/4.0-beta2 (java 1.5)
    2009/11/18 06:50:05:625 CET [DEBUG] RequestAddCookies - CookieSpec selected: best-match
    2009/11/18 06:50:05:625 CET [DEBUG] RequestAddCookies - Cookie [version: 0][name: IPCZQX03a36c6c0a][value: 2b00620155a1a14602b4b5af6397f561799fe284][domain: .mojedatovaschranka.cz][path: /][expiry: null] match [(secure)login.mojedatovaschranka.cz:443/nidp/idff/sso]
    2009/11/18 06:50:05:625 CET [DEBUG] RequestAddCookies - Cookie [version: 0][name: UrnNovellNidpClusterMemberId][value: ~03~02ffz~1D~0A~0Aw][domain: login.mojedatovaschranka.cz][path: /nidp][expiry: null] match [(secure)login.mojedatovaschranka.cz:443/nidp/idff/sso]
    2009/11/18 06:50:05:625 CET [DEBUG] RequestAddCookies - Cookie [version: 0][name: urn:novell:nidp:cluster:member:id][value: ~03~02ffz~1D~0A~0Aw][domain: login.mojedatovaschranka.cz][path: /nidp][expiry: null] match [(secure)login.mojedatovaschranka.cz:443/nidp/idff/sso]
    2009/11/18 06:50:05:625 CET [DEBUG] RequestAddCookies - Cookie [version: 0][name: JSESSIONID][value: 37FD9A7D4C52FBF631C643DD546367FB][domain: login.mojedatovaschranka.cz][path: /nidp][expiry: null] match [(secure)login.mojedatovaschranka.cz:443/nidp/idff/sso]
    2009/11/18 06:50:05:625 CET [DEBUG] DefaultRequestDirector - Attempt 5 to execute request
    2009/11/18 06:50:06:359 CET [DEBUG] DefaultRequestDirector - Connection can be kept alive for -1 ms
    2009/11/18 06:50:06:359 CET [DEBUG] DefaultRedirectHandler - Redirect requested to location 'https://www.mojedatovaschranka.cz:443/nesp/idff/spassertion_consumer?SAMLart=AAMHzWIPj5DxaThw8qlDepgdLxHJDOntkYfIsbtBjztyyj%2Fre%2BL7pInf&RelayState=MA%3D%3D'
    2009/11/18 06:50:06:359 CET [DEBUG] DefaultRequestDirector - Redirecting to 'https://www.mojedatovaschranka.cz:443/nesp/idff/spassertion_consumer?SAMLart=AAMHzWIPj5DxaThw8qlDepgdLxHJDOntkYfIsbtBjztyyj%2Fre%2BL7pInf&RelayState=MA%3D%3D' via HttpRoute[{s}->https://www.mojedatovaschranka.cz:443]
    2009/11/18 06:50:06:359 CET [DEBUG] SingleClientConnManager - Releasing connection org.apache.http.impl.conn.SingleClientConnManager$ConnAdapter@1c05ffd
    2009/11/18 06:50:06:359 CET [DEBUG] SingleClientConnManager - Get connection for route HttpRoute[{s}->https://www.mojedatovaschranka.cz:443]
    2009/11/18 06:50:06:359 CET [DEBUG] DefaultClientConnection - Connection shut down
    2009/11/18 06:50:07:218 CET [DEBUG] ClientParamsStack - 'http.protocol.version': HTTP/1.1
    2009/11/18 06:50:07:218 CET [DEBUG] ClientParamsStack - 'http.useragent': Apache-HttpClient/4.0-beta2 (java 1.5)
    2009/11/18 06:50:07:218 CET [DEBUG] RequestAddCookies - CookieSpec selected: best-match
    2009/11/18 06:50:07:218 CET [DEBUG] RequestAddCookies - Cookie [version: 0][name: IPCZQX03a36c6c0a][value: 2b00620155a1a14602b4b5af6397f561799fe284][domain: .mojedatovaschranka.cz][path: /][expiry: null] match [(secure)www.mojedatovaschranka.cz:443/nesp/idff/spassertion_consumer]
    2009/11/18 06:50:07:234 CET [DEBUG] RequestAddCookies - Cookie [version: 0][name: UrnNovellNidpClusterMemberId][value: ~03~02ffz~19~0E~0E~7D][domain: www.mojedatovaschranka.cz][path: /nesp][expiry: null] match [(secure)www.mojedatovaschranka.cz:443/nesp/idff/spassertion_consumer]
    2009/11/18 06:50:07:234 CET [DEBUG] RequestAddCookies - Cookie [version: 0][name: urn:novell:nidp:cluster:member:id][value: ~03~02ffz~19~0E~0E~7D][domain: www.mojedatovaschranka.cz][path: /nesp][expiry: null] match [(secure)www.mojedatovaschranka.cz:443/nesp/idff/spassertion_consumer]
    2009/11/18 06:50:07:234 CET [DEBUG] RequestAddCookies - Cookie [version: 0][name: JSESSIONID][value: 418F2851A4950037A927E3AEF2C99C0A][domain: www.mojedatovaschranka.cz][path: /nesp][expiry: null] match [(secure)www.mojedatovaschranka.cz:443/nesp/idff/spassertion_consumer]
    2009/11/18 06:50:07:234 CET [DEBUG] DefaultRequestDirector - Attempt 6 to execute request
    2009/11/18 06:50:08:125 CET [DEBUG] DefaultRequestDirector - Connection can be kept alive for -1 ms
    2009/11/18 06:50:08:125 CET [DEBUG] DefaultRedirectHandler - Redirect requested to location 'https://www.mojedatovaschranka.cz:443/DS/df'
    2009/11/18 06:50:08:125 CET [DEBUG] DefaultRequestDirector - Redirecting to 'https://www.mojedatovaschranka.cz:443/DS/df' via HttpRoute[{s}->https://www.mojedatovaschranka.cz:443]
    2009/11/18 06:50:08:125 CET [DEBUG] ClientParamsStack - 'http.protocol.version': HTTP/1.1
    2009/11/18 06:50:08:125 CET [DEBUG] ClientParamsStack - 'http.useragent': Apache-HttpClient/4.0-beta2 (java 1.5)
    2009/11/18 06:50:08:125 CET [DEBUG] RequestAddCookies - CookieSpec selected: best-match
    2009/11/18 06:50:08:125 CET [DEBUG] RequestAddCookies - Cookie [version: 0][name: IPCZQX03a36c6c0a][value: 2b00620155a1a14602b4b5af6397f561799fe284][domain: .mojedatovaschranka.cz][path: /][expiry: null] match [(secure)www.mojedatovaschranka.cz:443/DS/df]
    2009/11/18 06:50:08:125 CET [DEBUG] DefaultRequestDirector - Attempt 7 to execute request
    2009/11/18 06:50:08:859 CET [DEBUG] DefaultRequestDirector - Connection can be kept alive for -1 ms
    Uživatel přihlášen.
    Exception in thread "main" com.sun.xml.ws.client.ClientTransportException: The server sent HTTP status code 401: Unauthorized
    	at com.sun.xml.ws.transport.http.client.HttpTransportPipe.checkStatusCode(HttpTransportPipe.java:203)
    	at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:179)
    	at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:94)
    	at com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:116)
    	at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:598)
    	at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:557)
    	at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:542)
    	at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:439)
    	at com.sun.xml.ws.client.Stub.process(Stub.java:222)
    	at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:135)
    	at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:109)
    	at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
    	at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
    	at $Proxy31.findDataBox(Unknown Source)
    	at cz.abclinuxu.datoveschranky.Main.search(Main.java:56)
    	at cz.abclinuxu.datoveschranky.Main.main(Main.java:29)
    
    18.11.2009 08:09 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Co to znamená „nefunguje“? Ve výpise je vidět pouze to, že vám to vrátí chybu autorizace, jako by bylo špatné jméno nebo heslo.
    18.11.2009 08:26 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Podle mne je prihlaseni OK. I pres browser se na https://www.mojedatovaschranka.cz/DS/df v poho prihlasim. Ted to vypisuje:
    2009/11/18 06:50:03:265 CET [DEBUG] DefaultRequestDirector - Authorization challenge processed
    2009/11/18 06:50:03:265 CET [DEBUG] DefaultRequestDirector - Authentication scope: BASIC '/nidp'@login.mojedatovaschranka.cz:443
    2009/11/18 06:50:03:281 CET [DEBUG] DefaultRequestDirector - Found credentials
    a kdyz zmenim heslo na nesmysl, tak to loguje:
    2009/11/18 08:23:48:984 CET [DEBUG] DefaultRequestDirector - Authorization challenge processed
    2009/11/18 08:23:48:984 CET [DEBUG] DefaultRequestDirector - Authentication scope: BASIC '/nidp'@login.mojedatovaschranka.cz:443
    2009/11/18 08:23:48:984 CET [DEBUG] DefaultRequestDirector - Authentication failed
    Autorizace musi byt OK.

    Nefunguje to tak, ze pri volani (Main.java) this.dataBoxManipulationService.findDataBox(ownerInfo, holderOwnersArray, holderStatus); To po chvilce padne s tou vyjimkou.
    18.11.2009 09:34 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Přílohy:
    Ještě tu mám jedno zjištění. Přikládám výpis logu httpclienta pro testovací i ostrou verzi. Ostrá verze je ukecanější. Hoďte si to do diffu, je to tam hezky vidět (mezery jsem dodělal ručně).
    V podstatě má ostrá verze navíc tyhle dvě cookies:
    RequestAddCookies - Cookie [version: 0][name: UrnNovellNidpClusterMemberId][value: ~03~02ffz~19~0E~0Epw][domain: www.mojedatovaschranka.cz][path: /nesp][expiry: null] match [(secure)www.mojedatovaschranka.cz:443/nesp/idff/spassertion_consumer]
    RequestAddCookies - Cookie [version: 0][name: urn:novell:nidp:cluster:member:id][value: ~03~02ffz~19~0E~0Epw][domain: www.mojedatovaschranka.cz][path: /nesp][expiry: null] match [(secure)www.mojedatovaschranka.cz:443/nesp/idff/spassertion_consumer]
    Nejsem schopen posoudit, zda to ma vliv.
    18.11.2009 10:04 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Ještě mě napadlo - jak máte nakonfigurované webové služby? Konkrétně jakou máte URL u vlastnosti BindingProvider.ENDPOINT_ADDRESS_PROPERTY? Nenechal jste tam náhodou URL pro testovací prostředí namísto produkčního? To by mohlo vysvětlovat tu chybu při volání webové služby.
    18.11.2009 10:35 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Tento typ chyby vylučuji. Nejen, že jsem pečlivě prošel všechny zdrojáky a všechny výskyty url jsem nahradil jednou konstantou, navíc jsem i traceoval běh a zkoumal aktuální stavy promněnných, jestli se tam někde neobjeví nějaký nesmysl. Napadlo mne, jestli nemůže být problém s oprávněním - třeba uživatel datové schránky, na kterého se přihlašuju do ostré nemá stejná práva, jako uživatel, na kterého to zkouším v testovací. V testovací to zkouším s uzivatelem nn9ibp (zminen nekde na abclinuxu) a v ostre pouzivam svou DS fyzicke osoby. Nenapada mne uz ale, proc bych nemel mit moznost vyhledat nekolik OVM.
    18.11.2009 11:07 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Já jsem se ptal raději pro jistotu. Jak dopadne zavolání webové služby DummyOperation?
    18.11.2009 11:36 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Totéž
    18.11.2009 12:13 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    A ten můj prototyp, co jsem sem dával (viz níže)? Stáhne přijaté zprávy nebo selže na produkčním prostředí?
    18.11.2009 06:54 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Presne tak, i kdyz je na true, neredirectuje. Vlastni handler jsem nezkousel. Vratil jsem se k betaverzi httpclient.
    18.11.2009 11:18 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Příloha:
    Ještě mně napadlo vyzkoušet můj prototyp, protože k autentizaci nepoužívám knihovnu Apache httpclient. Upravená verze pro přístup do produkčního prostředí je v příloze. Použití:

    java -jar TinyDataBox.jar login heslo dir

    kde dir je adresář, do kterého se mají stáhnout přílohy. Pokud v DS nemáte žadné datové zprávy, nevadí to, nás zajímá pouze výsledek volání webové služby.
    18.11.2009 12:22 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Bohužel, nepotěším vás:
    18.11.2009 12:19:50 cz.abclinuxu.datoveschranky.tinyDB.DataBoxManager loginImplINFO: Responce code je 302:Found.
    18.11.2009 12:19:50 cz.abclinuxu.datoveschranky.tinyDB.DataBoxManager loginImplINFO: Presmerovano na https://www.mojedatovaschranka.cz:443/nesp/app/plogin?c=isds/basic/name/password&%22https://www.mojedatovaschranka.cz:443/DS/df%22
    18.11.2009 12:19:50 cz.abclinuxu.datoveschranky.tinyDB.DataBoxManager loginImplINFO: Responce code je 302:Moved Temporarily.
    18.11.2009 12:19:50 cz.abclinuxu.datoveschranky.tinyDB.DataBoxManager loginImplINFO: Presmerovano na https://login.mojedatovaschranka.cz/nidp/idff/sso?RequestID=idqBdzO2FpRQYGtdwj3M.CXAdvgUI&MajorVersion=1&MinorVersion=2&IssueInstant=2009-11-18T11%3A19%3A51Z&ProviderID=https%3A%2F%2Fwww.mojedatovaschranka.cz%3A443%2Fnesp%2Fidff%2Fmetadata&RelayState=MA%3D%3D&consent=urn%3Aliberty%3Aconsent%3Aunavailable&ForceAuthn=false&IsPassive=false&NameIDPolicy=onetime&ProtocolProfile=http%3A%2F%2Fprojectliberty.org%2Fprofiles%2Fbrws-art&target=https%3A%2F%2Fwww.mojedatovaschranka.cz%3A443%2FDS%2Fdf&AuthnContextStatementRef=isds%2Fbasic%2Fname%2Fpassword
    18.11.2009 12:19:51 cz.abclinuxu.datoveschranky.tinyDB.DataBoxManager loginImplINFO: Responce code je 200:OK.
    18.11.2009 12:19:51 cz.abclinuxu.datoveschranky.tinyDB.DataBoxManager loginImplINFO: Cookie je IPCZQX03a36c6c0a=2e00460255a177065ab4c973a579e7ab799fe284; path=/; domain=.mojedatovaschranka.cz; secure; HttpOnly.
    18.11.2009 12:19:53 cz.abclinuxu.datoveschranky.tinyDB.DataBoxManager checkHttpResponseCode
    SEVERE: Pozadavek selhal se stavovym kodem 401 Unauthorized.
    Exception in thread "main" cz.abclinuxu.datoveschranky.common.impl.DataBoxException: Pozadavek selhal se stavovym kodem 401 Unauthorized.
            at cz.abclinuxu.datoveschranky.tinyDB.DataBoxManager.checkHttpResponseCode(DataBoxManager.java:288)
            at cz.abclinuxu.datoveschranky.tinyDB.DataBoxManager.postAndParseResponse(DataBoxManager.java:242)
            at cz.abclinuxu.datoveschranky.tinyDB.DataBoxManager.getListOfReceivedMessages(DataBoxManager.java:105)
            at cz.abclinuxu.datoveschranky.tinyDB.Main.main(Main.java:43)
    18.11.2009 13:02 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Díky, skutečně jsou jisté rozdíly mezi testovacím a produkčním prostředím. V produkčním prostředí přibudou dvě cookie navíc oproti testovacímu, jak jste na to již příšel:
    urn:novell:nidp:cluster:member:id=~03~02ffz~19~0E~0Dw; Path=/nesp
    UrnNovellNidpClusterMemberId=~03~02ffz~19~0E~0Dw; Path=/nesp
    
    V dokumentaci k ISDS je uvedeno, že pro autentizaci má význam pouze cookie s prefixem IPC. Hodnota těchto cookies se zdá být neměnná. Zkusím se dopátrat dalších rozdílů mezi testovacím a produkčním prostředím, pokud jsou.
    18.11.2009 14:33 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Příloha:
    Nemám přístup do produkčního prostředí, tak nedovedu potvrdit, že přihlášení do datové schránky v produkčním prostředí selže, ale v případě, že vyplním špatné přihlašovací údaje do produkčního prostředí v mém prototypu, dostanu na konci autentizace nelogicky 200 OK, což se zdá v pořádku a o tom, že se nepovedlo přihlásit se dovím v odpovědi, která je ve formátu HTML a obsahuje popis chyby (viz příloha). Volání webových služeb pak dopadne očekávanou chybou 401 Unauthorized.

    Testovací prostředí se chová odlišně, na konci špatné autentizace dostanu očekávané 401 Unauthorized, ne 200 OK jako v případě produkčního prostředí.
    18.11.2009 14:40 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    To mi opravdu připadá, že se v tom ostrém prostředí někde používá špatná adresa. Přihlášení se dělá tak, že se volá dummy funkce, a její volání tedy v případě neúspěšného přihlášení má skončit 401.
    18.11.2009 14:46 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    V dokumentaci k ISDS se píše:

    5. Příznaky neúspěšné autentizace buď 401 Unauthorized nebo místo XML SOAP odpovědi dostaneme html stránku Access Manageru
    18.11.2009 15:17 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Tomu bych taky věřil, nicméně, v celém projektu se nevyskytuje slovo czebox ani pilot. všechny stringy czebox.cz jsem nahradil "+databoxDomain+". Nastavím-li databoxDomain="czebox.cz", vše šlape, nastavím-li databoxDomain="mojedatovaschranka.cz", tak to nedopadne. Viz výše res1.txt a res2.txt. Vše nasvědčuje tomu, že se připojí na správné URL, úspěšně ověří přihlašovací údaje, dokonce i redirectuje a pak se to teprv někde posere. Co třeba nějakej timeout? ... max počet redirectů? ... nebo něco takovýho? - teď vařím z vody.
    18.11.2009 15:38 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Nejde jen o doménu, ale i o cestu, na které se pokouší volat webovou službu nebo přihlásit. Timeout ani počet přesměrování by s tím neměl souviset, problém je nejspíš v tom, že se nepřenese z přihlášení do vyhledávání ona autentizační cookie. S jakým kódem to zkoušíte? Zkusil bych tam zalogovat cookie, které se načtou z úvodní přihlašovací komunikace a ty, které se pak předávají do volání webových služeb.
    18.11.2009 16:02 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Nerozumím otázce
    S jakým kódem to zkoušíte?
    Tady je zatím reply, která přijde po volání DummyOperation:
    com.sun.xml.ws.client.ContentNegotiation=none,
    com.sun.xml.ws.client.handle=JAX-WS RI 2.1.7-b01-: Stub for https://www.mojedatovaschranka.cz/DS/df,
    com.sun.xml.ws.server.OneWayOperation=false,
    com.sun.xml.ws.api.server.WSEndpoint=null,
    com.sun.xml.ws.api.message.HeaderList=[],
    com.sun.xml.ws.handler.config=com.sun.xml.ws.client.HandlerConfiguration@17b6178,
    javax.xml.ws.wsdl.service={http://isds.czechpoint.cz/v20}dmOperationsWebService,
    javax.xml.ws.wsdl.port={http://isds.czechpoint.cz/v20}dmOperationsPortType,
    javax.xml.ws.wsdl.interface={http://isds.czechpoint.cz/v20}dmOperationsPortType,
    javax.xml.ws.soap.http.soapaction.uri=,
    javax.xml.ws.reference.parameters=[],
    javax.xml.ws.service.endpoint.address=https://www.mojedatovaschranka.cz/DS/df
    javax.xml.ws.http.response.code=401,
    javax.xml.ws.http.response.headers={
      null=[HTTP/1.1 401 Unauthorized],
      Cache-control=[no-cache],
      Content-type=[text/html;charset=utf-8],
      Content-length=[954],
      Www-authenticate=[Basic realm="/nidp"],
      Server=[Apache-Coyote/1.1],
      Pragma=[No-cache],
      Date=[Wed, 18 Nov 2009 14:42:51 GMT],
      Set-cookie=[JSESSIONID=7991EC06723BDE006CA7E474D5FDF45C; Path=/nidp; Secure, urn:novell:nidp:cluster:member:id=~03~02ffz~1D~0A~0Atp; Path=/nidp, UrnNovellNidpClusterMemberId=~03~02ffz~1D~0A~0Atp; Path=/nidp]
    }
    18.11.2009 16:17 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Těch prototypů je zde několik, ve kterém se vám to takhle chová? Důležité je, zda se s požadavkem odešle ta autentizační cookie.
    18.11.2009 16:37 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Tak mám tu podezřelého. To byl dobrý tip. RequestContext má parametr others, který obsahuje před voláním Dummy tyto hodnoty: {javax.xml.ws.session.maintain=true, javax.xml.ws.http.request.headers={Cookie=[$Version=0; urn:novell:nidp:cluster:member:id=~03~02ffz~1D~0A~0Ay; $Path=/nidp]}, com.sun.xml.ws.transport.https.client.SSLSocketFactory=com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl@37153d} při stejném volání na testovacím serveru obsahuje {javax.xml.ws.session.maintain=true, javax.xml.ws.http.request.headers={Cookie=[$Version=0; IPCZQX03a36c6c0a=0000250155a14ae33aff60f7f617eacba3254845; $Path=/; $Domain=.czebox.cz]}, com.sun.xml.ws.transport.https.client.SSLSocketFactory=com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl@1fa487f}

    Hádám tedy, že se tam nějak nesmyslně parsujou cookies a tím že tam jedna-dvě přibyly, odesílá se jiná než má. Fuj. ;-)
    18.11.2009 16:19 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    V "dokumentaci" od sw602, v souboru dokumentace.zip/ostatni/oprava Java/Oprava_java.txt se píše:
    Pokud se v produkčním prostředí nejde přihlásit, použijte rozšířené zpracování cookies podle přiloženého souboru. Změnila se struktura vracených cookies.
    To tam ale, zdá se mi máte zapracovaný, že?
    18.11.2009 16:26 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    V tom mém příkladu se právě proto používá HttpClient, aby to bylo univerzální. Použije se první cookie, která se nejmenuje JSESSIONID. Původně byl záměr kopírovat všechny cookies, ale měl jsem problémy s tím dostat do hlaviček víc cookies, aby to ISDS pobral, a nechtělo se mi řešit, kde je chyba, když stačila jedna cookie.
    18.11.2009 16:34 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Pro ISDS je podstatná jen jedna cookie a to ta se jménem začínajícím na prefix IPC. Ta se pak musí předat webovým službám.
    18.11.2009 16:37 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Teď mne napadá, pokud produkční prostředí posílá těch cookie víc, může se vybrat špatná a ta začínající IPC se nepoužije.

    Omezovat na prefix IPC jsem to nechtěl, protože bůhví, jak se to bude v budoucnosti měnit. Takže představa byla, že se budou posílat všechny cookies, ale protože to byl prototyp, dovolil jsem si vypustit jej s tím, že se kopíruje jen první s jménem jiným než JSESSIONID. Kdo na tom bude chtít pokračovat dál, bude to muset doplnit :-)
    18.11.2009 16:48 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    No, já se držel dokumentace a tak v mém prototypu posílám jen tu cookie s prefixem IPC. Apropos, v jejich vzorovém řešení hledají cookie s prefixem IPCZ, v dokumentaci mají napsáný prefix IPC (bez toho písmene Z).
    18.11.2009 16:51 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Právě proto, že se ten prefix už měnil, jsem to nechtěl mít vázané na žádné konkrétní jméno a kopírovat vše.
    18.11.2009 16:54 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Bleju pánové. :-) Nicméně prototyp už na ostré funguje, takže hurá na stahování zpráv.
    Mintaka avatar 19.11.2009 08:43 Mintaka | skóre: 13
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky

    Gratuluji. K funkčnosti prototypu i realizaci oblíbené jógínské očistné techniky, pročištění žaludku :-)

    Dalo by se to testování dostat do stavu:

    • Stáhnu, rozbalím.
    • Mrknu do readme do sekce Rychle testovani, kde jsou 3 věty s návodem jak na to.
    • (Volitelně: upravím v konfiguráku předpřipravené jméno / heslo)
    • Spustím
    • Z nabídky vyberu test (textová nabídka 1,2,3,..) konrétní fukce, kterou chci otestovat, nebo komplex všech funckí.
    • Test se provede, zobrazí se výsledky.

    Pokud tedy s tímto přáním na způsob testování nejsem úplně někde mimo realitu.
    19.11.2009 11:59 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Zítra budu mít hotovou verzi, založenou na prototypu F.Jirsáka, která: - Vylistuje zprávy - Stáhne zprávy a rozhodí přílohy do adresářů

    Primárně to teď musím rozchodit pro sebe, pač nám sem chodí 200 zpráv denně a personál to nestíhá přes webovku stahovat. Jak to nasadím, udělám zcela jistě nějakej balíček pro ostatní. Po víkendu by to mohlo bejt.
    Mintaka avatar 19.11.2009 12:05 Mintaka | skóre: 13
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Díky díky.
    18.11.2009 15:00 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Přílohy:
    Přikládám výpis logu pro ostrou verzi se správným loginem se správným heslem a správným loginem se špatným heslem. Zkusil jsem to pro tinyDataBox i pro prototyp F.Jirsáka.

    Je to tak, že váš tinyDataBox dává stále stejný výsledek. Prototyp F.J. pozná, že přihlášení nebylo úspěšné.
    18.11.2009 10:14 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Bude to tak, díval jsem se do release_notes k verzi 4.0 a v seznamu oprav chyb je u verze 4.0 BETA2 uvedeno:
    * [HTTPCLIENT-860] HttpClient no longer converts redirects of PUT/POST to GET 
      for status codes 301, 302, 307, as required by the HTTP spec.
    
    18.11.2009 10:38 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Tyhle release notes jsem četl a proto jsem to s 4.0 vzdal. Nicméně bych si zápis v Bug fixes since 4.0 BETA2 release vysvětloval tak, že BETA2 neredirectovala a finalni uz redirectuje. Mně to tu fungovalo tak nějak opačně.
    24.11.2009 10:24 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Dál jsem pokračoval v testech. Nyní již mám svou verzi nasazenou v produkčním prostředí, kde provádí jen stahování zpráv a příloh a vyplňuje knihu pošty. Pár postřehů:
    • Nevyplatí se stahovat více jak stovku zpráv najednou, dříve nebo později to spadne na connection.
    • Čas od času spadne stahování zprávy s chybou ws o neukončeném xml (něco jako <File>, teď tu chybu bohuželk nemám zachyceno, až ji budu mít, dám ji k dobru) Opakování stažení je pak úspěšné.
    • nedaří se mi prorazit ze sítě za proxynou. Pomocí HttpHost proxy = new HttpHost("proxy.doma.cz", 8080, "http"); httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); nastavím proxy. Normálně projde spojení se serverem SSL, přihlášení, a pak to padne na hubu s hlášením com.sun.xml.ws.client.ClientTransportException(Unknown host www.mojedatovaschranka.cz) Copak ws používa jiného httpclienta?
    • Název souboru přílohy se bere z pole anotace, toto pole ovšem debilním soudním úředníkům nebrání, aby do něj zadávali různá lomítka, hvězdičky a otazníky, a stejně tak jim nebrání vložit několik souborů se stejným názvem do jedné zprávy. Je na to třeba myslet při ukládání přiloženého sopuboru do filesystému

    24.11.2009 11:07 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky

    Díky za zkušenosti s realným prostředí, bude se to hodit.

    Ano, ws používá vlastního klienta, ne apache http clienta, ten se používá jen pro získání autentizační cookie. Nastavení globální proxy následujícím způsobem funguje?:

    System.setProperty("proxySet", "true");
    System.setProperty("https.proxyHost", proxyHostName);
    System.setProperty("https.proxyPort", proxyHostPort);
    System.setProperty("http.proxyHost", proxyHostName);
    System.setProperty("http.proxyPort", proxyHostPort);
    
    24.11.2009 12:14 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Zkoušel jsem jen s tím http, https mne nenapadlo. Zkusil jsem, funguje to. Díky za tip.
    Mintaka avatar 24.11.2009 12:18 Mintaka | skóre: 13
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky

    RE. Název souboru přílohy se bere z pole anotace:

    Pokud to pole má oficiálně sloužit k pojmenování souborů, tak jde dle mého o chybu na straně ISDS, když vytváří situace které jsou proti rozšířeným standardům. Pokud to pole používají úředníci jako další komunikační kanál. Například tam položí otázku "Schválený rozpočet 20/09/2010?" a ve výsledku to bude "Schválený rozpočet 20092010", tak může docházet k zbytečným problémům.

    Pokud nejsou nějakým nařízením přesně dána pravidla, jakým způsobem tohle ošetřit, tak by se mělo tlačit na ISDS, aby tuto chybu odstranili na své straně.

    24.11.2009 12:54 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Tím polem anotace je míněn atribut dmFileDescr u přilohy? Taky by mně zajímalo, v jakém kodování je ten atribut? Předpokládám, že snad UTF-8, ale v dokumentaci to není zmíněno a co kdyby se stalo, že to jméno souboru bude v kódování wincp-1250?
    24.11.2009 15:54 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky

    Atribut je součástí XML, takže tato otázka je vyřešena na úrovni XML.

    Mě spíš vytáčí, že neexistuje atribut pro znakovou sadu zakódovaného obsahu, takže třeba u textového dokumentu nevíte, jak jej máte interpretovat. Dokonce to ani neví ISDS, který se jej snaží interpretovat (kontrola formátu) a pak z toho lezou takové nesmysly, jako že textový dokument nemůže obsahovat nulový bajt.

    24.11.2009 15:58 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky

    A o tom to je. Místo aby opravili aplikace, tak ohýbají formát (jmenný prostor podepsaných zpráv, ignorace MIME typu, přetěžovaní popisu dokumentu, vytváření svatých přípon souboru). Mám sto chutí poslal ostrou prosbu na ministerstvo.

    Myslel jsem si, že takové lepení se za 900 miliónu nedělá. Ale asi ta cena byla malá.

    Mintaka avatar 24.11.2009 16:10 Mintaka | skóre: 13
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky

    Nebo příliš vysoká.

    Proč by takové zakázky nemohly fungovat stylem: nejdřív ukažte funkční prototyp, ten dáme k otestování odborníkům a konkurenci a až po vyřešení nesrovnalostí na vás začneme sypat milióny z kapes daňových poplatníků. ?

    24.11.2009 17:44 FrantaS | skóre: 12 | Hlučín
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Za ty peníze není jen přístup veřejnosti do dat. schr.
    
    Ostrý "dopis" nechte, prosím, na mne. Čeho by se ta ostrá prosba měla týkat? Možná by bylo vhodné udělat stránku hříchů dat. schr. Chtělo by to ale přesně definovat a skutečnosti, ne domněnky.
    
    S ministerstvem vnitra jsem měl dva hovory a včera jsem si napsal o potvrzení obsahu rozhovorů. S panem Stieglerem se pokouším spojit ode dne, co jsem poslal žádost o příspěvek. Protože to s ním nevychází, snaží se i tisková mluvčí zjistit kompetentní osobu.
    
    Připravuji již koncepci ostrého, možná budou říkat sprostého, článku na téma dat. schr. Shromažďuji za tím účelem různé zprávy na téma např. "Estonská vláda otevře SW", Holandská policie přechází na open source. Nevím zda někde není přehled něčeho takového.
    
    
    Vysvětlete mi, prosím, jak to funguje. Datová zpráva je ve formátu zfo. Ten není nikde popsán. Jak se dostanete k obsahu zprávy? Jak vytáhnete přílohu?
                
    Ať se nám daří.
    24.11.2009 18:10 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky

    Stažená datová zpráva není ve formátu zfo, ale v XML, pokud je podepsána, tak ve formátu PKCS#7 a po rozbalení z něj vypadne to XMLko. Zpráva obsahuje identifikaci odesílatele, příjemce, anotace, přílohy a časové razítko odpovídající standardu RFC 3161. Příloha pak může obsahovat soubor ve formátu zfo.

    Moje výtky se hlavně týkají nedostačné, nepřesné a mnohdy zavádějící dokumentace k ISDS. Příkladů tu najdete spoustu, např. v tomto či v sousedním fóru. Problematikou datových schránek se také zabývá Jiří Peterka na serveru Lupa.

    24.11.2009 22:21 FrantaS | skóre: 12 | Hlučín
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Protože "musím", tak s nimi zkouším. Nainstaloval jsem do vidlí, co bylo v návodu doporučeno. Ve zkušebním jsem se dostal až do zprávy. Tu jsem dal uložit. Objevil se soubor s příponou zfo. Tuto zprávu jsem otevřel a z ní dal uložit přílohu pdf. Když se k tomu přistupuje nikoli přes web tak to funguje jinak? Něčemu nerozumím?
    Ať se nám daří.
    24.11.2009 23:28 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky

    Pokud uložím tu zprávu XML FormFillerem, tak ten zfo soubor je ve skutečnosti PKCS#7 obálka a po odstranění z toho vypadne XMLko. Formát je tedy totožný s tím, co vrací webová služba SignedMessageDownload. O proprietární formát zfo se tedy nejedná, ačkoliv ten XML FormFiller ho ukládá s touto příponou a dovede ho otevřít.

    BTW, ta instalace toho jejich "malého" doplňku je děs, ještě mi z toho stojí vlasy na hlavě :-). Jsem čerstvý majitel datové schránky jako FO a při přihlašování to po mně chtělo vyplnit 3., 5., 7. a 10. číslo z posloupnosti 12 čísel. Domníval jsem se, že tohle se týká jen testovacího provozu.

    Zdá se, že zpravodajský server Novinky objevil Ameriku. Do datových schránek se dá vloupat, tvrdí odborníci. Tahle možnost útoku tu byla v blozích probrána asi dva měsíce zpět, padlo tady kvůli tomu i trestní oznamení.

    25.11.2009 09:47 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Jsem čerstvý majitel datové schránky jako FO a při přihlašování to po mně chtělo vyplnit 3., 5., 7. a 10. číslo z posloupnosti 12 čísel. Domníval jsem se, že tohle se týká jen testovacího provozu.
    Tohle se objevuje jenom někdy, možná když ISDS zjistí „podezřelou aktivitu“ (časté přihlašování) z nějaké IP adresy. K čemu je to dobré nechápu, člověka otravuje hledat ty správné číslice (jednodušší by bylo opsat jich všech 12), robot by to zvládl snadno.
    26.11.2009 10:07 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Tohle je ted novinka, ovsem nezdokumentovana. Asi test inteligence pro uzivatele DS, protoze proti automatum je to smesne. Nevic ... proc by automat mel pouzivat webovej server, kdyz ma k dispozici WS?
    26.11.2009 10:38 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Navíc i na webu mu jasně potvrdí, že uhádl správné heslo :)
    26.11.2009 11:14 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Spíš další způsob, jak buzerovat uživatele.

    BTW, na serveru denik.cz je článek týkající se toho profláknutého problému s certifikáty. Petr Stiegler z České pošty se v tomto článku k problému s certifikáty vyjádřil následovně: „To jsou odborné technické záležitosti, o kterých se nejprve musím informovat u odborníků.“. Už si asi nepamatuje, že tenkrát na chatu na serveru podnikatel.cz radil uživatelům, aby tato varování prohlížečů ohledně certifikátu ignorovali. Luk dokonce kvůli tomu podával trestní oznámení, které bylo smeteno pod koberec.
    26.11.2009 11:28 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Tak to není nezdokumentovaná novinka, jedná se prý o Turingový test :-).
    Mintaka avatar 28.11.2009 20:14 Mintaka | skóre: 13
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky

    Boha jeho! Kdo todlecto vypustil? Turingův test se přeci používal naopak jako jeden ze způsobů ověření umělé inteligence, než se přišlo s argumentem čínského pokoje.

    V aktuální podobě je ten "test" jen čistá buzerace uživatelů. To tam takových testů můžou mít třeba 20 a pak prohlašovat že je to 20x bezpečnější. A nejvyšším stupněm zabezpečení (za příplatek 500Kč) bude doručování zpráv pomocí jiného informačního kanálu. Například papírově.

    29.11.2009 10:53 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky

    Myslím, že nejpřiléhavěji tento způsob "zabezpečení" popsal Filip Jirsák v diskusi k článku na Lupě, kde ho označil za antiCAPTCHu, protože vyplnit to robotem je nesrovnatelně jednodušší, než když to vyplňuje člověk.

    Mintaka avatar 24.11.2009 20:28 Mintaka | skóre: 13
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky

    Formální výtka/výzva, která by v konečném důsledku vedla alespoň k zlepšení kvality služeb poskytovaných ISDS je velmi záslužný počin. Taková aktivita by zasloužila podpořit.

    Myslím že by nebylo od věci, provést ji formou petice. Pak nebude možné, aby na ni bylo pohlíženo pouze jako na názor jednotlivce.

    Pro případ, že by z toho byla petice by bylo dobré, aby nesla jednu charakteristickou myšlenku/cíl, dále několik dílčích bodů a až následně podrobnější rozepsání jednotlivých bodů.

    V každém případě by bylo dobré, aby zazněly i výtky které popsal pan Peterka na Lupě, v lepším případě, aby text před zveřejním připomínkoval, případně se rovnou podílel na popisu technických detailů některých bodů.

    19.11.2009 12:09 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Nový prototyp
    Příloha:
    V příloze je aktuální verze prototypu, builduje se to Mavenem, stačí to rozbalit a v hlavním adresáři spustit mvn package, což by mělo vygenerovat knihovny a spustit testy. Projekt se skládá ze čtyř modulů:
    • DataBoxCommon který definuje společné rozhraní pro obě knihovny
    • TinyDataBox malá knihovna podporující stahování zpráv
    • DataBoxWebServices vygenerované rozhraní pro přístup k webovým službám
    • DataBoxLibrary knihovna podporující plnou funkcionalitu (zatím odesílání a stahování zpráv, další funkcionalita přibude brzy). Má testy.
    Zatím je ověřena funkčnost pod testovacím prostředím, na produkčním ne. Je to zatím stále prototyp, dokáže již pracovat s podepsanými zprávami (knihovna bouncycastle) a spočítat hash zprávy způsobem, jak je popsán v dokumentaci. Tahle funkcionalita je experimentální. Dávám to sem, sice to je stále prototyp, ale mohl by se hodit ostatním vývojářům. V nejbližší době vyčistím zdrojáky a pak to hodím na veřejnou repozitory (git).
    19.11.2009 16:18 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Nový prototyp
    Skvele. Ale kterou?
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    19.11.2009 17:28 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Nový prototyp
    Projdu si je a uvidím. Jinak já bych byl pro oddělenou repository, jedna pro vývojovou verzi a tu bych ponechal v kompetenci jednotlivých vývojařů a pak společná repository se stabilními verzemi, která by byla uživatelsky přívětivá (todo list, hlášení chyb apod.).
    27.11.2009 20:05 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Nový prototyp
    Vývojová verze projektu je na githubu.
    20.11.2009 10:42 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Mate-li konkretni dotazy na DS, zaslete mi je, zkusim ziskat odpovedi od programatoru komercnich firem.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    1.12.2009 13:53 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Napsal jsem GUI aplikaci pro práci se staženými zprávami, s pomocí tohoto pluginu pro GreaseMonkey lze pak pracovat s přijatými zprávami ve webovém rozhraní Datových schránek bez nutnosti instalace oficiálního doplňku :-). Postup instalace je na stránkách skriptu. V případě problémů mě prosím kontaktujte.
    Mintaka avatar 1.12.2009 18:53 Mintaka | skóre: 13
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky

    Pěkné, pěkné. Už se to začíná podobat mé představě o testovacím prototypu (rozbalit --> spustit). Hodilo by se mít v tom taru i nějaký podepsaný soubor.

    Tohle na mě vyblaflo, když jsem tomu zkusil podstračit nějaký nepodepsaný soubor.

    1.12.2009 18:50:59 cz.abclinuxu.datoveschranky.MessageViewer showFile
    SEVERE: Nemohu zobrazit zpravu.
    cz.abclinuxu.datoveschranky.common.impl.DataBoxException: Nemohu otevrit PKCS#7 obalku.
            at cz.abclinuxu.datoveschranky.impl.Validator.readPKCS7(Validator.java:106)
            at cz.abclinuxu.datoveschranky.impl.MessageValidator.validateAndCreateMessage(MessageValidator.java:105)
            at cz.abclinuxu.datoveschranky.impl.MessageValidator.createMessage(MessageValidator.java:101)
            at cz.abclinuxu.datoveschranky.MessageViewer.showFile(MessageViewer.java:70)
            at cz.abclinuxu.datoveschranky.MessageViewer.access$500(MessageViewer.java:30)
            at cz.abclinuxu.datoveschranky.MessageViewer$5.run(MessageViewer.java:279)
            at java.awt.event.InvocationEvent.dispatch(Unknown Source)
            at java.awt.EventQueue.dispatchEvent(Unknown Source)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.run(Unknown Source)
    Caused by: org.bouncycastle.cms.CMSException: Malformed content.
            at org.bouncycastle.cms.CMSUtils.readContentInfo(Unknown Source)
            at org.bouncycastle.cms.CMSUtils.readContentInfo(Unknown Source)
            at org.bouncycastle.cms.CMSSignedData.init(Unknown Source)
            at cz.abclinuxu.datoveschranky.impl.Validator.readPKCS7(Validator.java:101)
            ... 13 more
    Caused by: java.lang.IllegalArgumentException: unknown object in factory: org.bouncycastle.asn1.DERUnknownTag
            at org.bouncycastle.asn1.cms.ContentInfo.getInstance(Unknown Source)
            ... 17 more
    1.12.2009 19:33 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky

    Dík za otestování. Archiv na webu jsem doplnil o dva příklady podepsaných zpráv, jedna odeslaná, druhá přijatá.

    Pro logování se používá logger z java.util.logging s defaultní konfigurací a ta vyjímky vypisuje na chybový výstup, proto to vyblafnutí při otevírání nepodepsaného souboru. Je to holt prototyp. :-) Při otevření nesprávného souboru by se měla zobrazit chybová hláška.

    5.1.2010 08:15 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Nějakou dobu jsem teď neměl čas se DS zabívat, ale aspoň se mi povedlo uložit pro vás tuhle vyjímku. Dochází k ní při stahování datové zprávy s pravděpodobností cca 1:1000. Při opakovaném pokusu o stažení DZ se chyba neopakuje.
    ProvßdÝ se p°ihlaÜovßnÝ k datovÚ schrßnce www.mojedatovaschranka.cz s loginem xxxxx
    U×ivatel byl ˙spýÜný p°ihlßÜen.
    P°Ýprava pro zÝskßnÝ seznamu zprßv. Inicializace slu×by...
    ZÝskßvßnÝ seznamu zprßv...
    Byl zÝskßn seznam zprßv (340).
    Exception in thread "main" java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
            at java.lang.reflect.Method.invoke(Unknown Source)
            at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)
    Caused by: com.sun.xml.ws.encoding.soap.DeserializationException: Failed to read a response: javax.xml.bind.UnmarshalException - with linked exception:[javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1160,40] Message: SSL peer shut down incorrectly]
            at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:124)
            at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
            at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
            at $Proxy36.signedMessageDownload(Unknown Source)
            at .simpleds.comm.CommunicationDS.requestSignedMessage(CommunicationDS.java:211)
            at .simpleds.DownloadRecievedMessages.downloadRecivedMessages(DownloadRecievedMessages.java:140)
            at .simpleds.DownloadRecievedMessages.main(DownloadRecievedMessages.java:88)
            ... 5 more
    Caused by: javax.xml.bind.UnmarshalException - with linked exception:[javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1160,40] Message: SSL peer shut down incorrectly]
            at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:422)
            at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
            at com.sun.xml.bind.v2.runtime.BridgeImpl.unmarshal(BridgeImpl.java:120)
            at com.sun.xml.bind.api.Bridge.unmarshal(Bridge.java:233)
            at com.sun.xml.ws.client.sei.ResponseBuilder$DocLit.readResponse(ResponseBuilder.java:525)
            at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:121)
            ... 11 more
    Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1160,40] Message: SSL peer shut down incorrectly
            at com.sun.xml.stream.XMLReaderImpl.next(XMLReaderImpl.java:560)
            at com.sun.xml.ws.util.xml.XMLStreamReaderFilter.next(XMLStreamReaderFilter.java:92)
            at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:225)
            at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:358)
            ... 15 more
    Mintaka avatar 5.1.2010 12:07 Mintaka | skóre: 13
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky

    Díky za info. Tenhle typ chyb vyskytujících se jen první pondělí sudého měsíce pokud je zrovna úplněk je snad nejhorší.

    Tuší někdo kde je zakopán pes, nebo kterého psa je třeba nakopnout?

    5.1.2010 12:25 vrosecky | skóre: 5
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Já se touhle chybou u mé knihovny při testech ještě nesetkal. Kolik tam běží současně vláken na stahování zpráv? Pokud se spustí Java s parametry "javax.net.debug=ssl", co to vypíše při této chybě?
    5.1.2010 16:01 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Podle mne to je nějaká chyba v komunikaci, buď přerušené spojení nebo něco takového.
    6.1.2010 15:47 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Také mohu jen hádat - podle toho, jak tomu rozumím, nepřijde kompletní odpověď ze serveru a při parsování odpovědi to spadne. Aspoň tak tomu rozumím. Konexe SSL podle mne nepadá - to vypadá to jinak. A můžu to i nasimulovat ;-) Laicky: Prostě spojení drží a server nepošle celou odpověď. Nemůžu to debugovat, pač k tomu dochází jen vyjímečně - asi náhodně. Blbě se to ladí, když neexistuje odpovídající testovací prostředí. Vše co jsem rozchodil funguje jen díky tomu, že mám možnost testovat v ostrém prostředí, kde nám chodí několik stovek zpráv denně.
    28.1.2010 13:05 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Příloha:
    Jak jsem před pár měsíci slíbil, že dodám svůj funkční kód, tak tady je. Lepší pozdě, než nikdy.

    Přiložená aplikace používá Java6 a umí to, že po spuštění naplánuje stahování na noční hodiny. Provede stažení příchozí pošty, odeslání pošty a stažení doručenek.

    Staženou poštu uloží do souborů čitelných xml602fillerem, stáhne také zvlášť přílohy a hlavičku pošty uloží do pdf. Obsluha se defacto nemusí o nic starat a nepotřebuje ani ten soft od malware602.

    Má to spoustu much a je to dost slátanina. Dělal jsem to ve volných chvílích, abych ušetřil čas naší podatelně. Jako ukázkový příklad je to asi fuj. Na druhou stranu je to vyzkoušený. Stahuje to a odesílá cca 500 datových zpráv denně.

    Jo, a teď bych to sem hodil, ale má to nějaký 4MB, tak mi to sem nejde dát. Tak jen popis. Pokud to někdo chcete, tak si sem o to napište. Pošlu to nebo někam nahraju.

    Janek
    Mintaka avatar 28.1.2010 17:19 Mintaka | skóre: 13
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Díky za otevření. Kód se může hodit.

    Ideální by bylo mít ten zdroják nacpaný v nějakém verzovacím systému, v minimalistiském podání mít aspoň jednu webovou stránku, kde budou odkazy na jednotlivé verze.

    A než to bude, tak se hlásím jako zájemce o prosím o zaslání zdrojáků na adresu: mintaka@post.cz

    28.1.2010 23:37 Leoš Literák | skóre: 74 | blog: LL | Praha
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Gratuluju k úspěchu. Ozvi se, nahrajeme to někam na server, založíme projekt v bugzille, vytvoříme stránky na Abíčku.
    Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
    29.1.2010 11:32 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Zdrojaky jsem poslal na mail.

    Pokud byste mi s tim chtel nekdo pomoci, uvital bych vylepseni scheduleru. Pouzivam neprilis sikovny Timer a nemel jsem cas studovat jine.

    Pokud bude nejaky vetsi zajem o to to adaptovat, sepisu knownbugs.
    15.2.2010 07:28 Janek
    Rozbalit Rozbalit vše Re: Prototyp pro stáhnutí zpráv z Datové schránky
    Nedá mi to, abych se nepodělil o další novou vyjímku při stahování doručených zpráv z DS. :-)
    Exception in thread "Timer-0" java.lang.NoClassDefFoundError: cz/czechpoint/isds/v20/DmOperationsWebService
            at cz.cemokom.janek.simpleds.tasks.DownloadRecivedMessagesTask.operateMessages(DownloadRecivedMessagesTask.java:47)
            at cz.cemokom.janek.simpleds.tasks.MessagesOperationTimerTask.run(MessagesOperationTimerTask.java:65)
            at java.util.TimerThread.mainLoop(Unknown Source)
            at java.util.TimerThread.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: cz.czechpoint.isds.v20.DmOperationsWebService
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClassInternal(Unknown Source)
            ... 4 more
    Caused by: java.util.zip.ZipException: error reading zip file
            at java.util.zip.ZipFile.read(Native Method)
            at java.util.zip.ZipFile.access$1200(Unknown Source)
            at java.util.zip.ZipFile$ZipFileInputStream.read(Unknown Source)
            at java.util.zip.ZipFile$1.fill(Unknown Source)
            at java.util.zip.InflaterInputStream.read(Unknown Source)
            at java.io.FilterInputStream.read(Unknown Source)
            at sun.misc.Resource.getBytes(Unknown Source)
            at java.net.URLClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.access$000(Unknown Source)
            ... 10 more

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.