abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 15:19 | Zajímavý článek
Organizace Electronic Frontier Foundation (EFF) upozorňuje v rámci seriálu Stupidní patent měsíce (I, II) na společnost Blue Spike. Ta se během 14 dnů začala soudit hned s 45 společnostmi (Patent Blast). Prý porušují její 4 patenty US 7,346,472, US 7,660,700, US 7,949,494 a US 8,214,175. Patenty mají stejný název – Způsob a zařízení pro monitorování a analýzu signálů. Stejný je i abstrakt. Liší se jenom v nárocích. EFF na patentech ilustruje… více »
Ladislav Hagara | Komentářů: 3
včera 22:22 | Zajímavý projekt
Mozilla představuje na svém blogu Mozilla Hacks zaměřeném na vývojáře zařízení Matchstick s Firefox OS. Jedná se o otevřenou alternativu k Chromecastu. Otevřený je jak software, tak i hardware. Projekt lze podpořit na Kickstarteru. Matchstick lze objednat za 18 dolarů.
Ladislav Hagara | Komentářů: 0
včera 11:19 | Zajímavý projekt
V prosinci 2012 byl potvrzen linuxový port legendárního RPG Baldur's Gate (zprávička). Trent Oster před několika hodinami na Twitteru oznámil, že bylo na Steamu spuštěno testování Baldur's Gate: Enhanced Edition verze 1.3.
Ladislav Hagara | Komentářů: 38
včera 09:17 | Pozvánky
S novým semestrem se nám opět rozjíždí cyklus Androidích přednášek a setkání Android vývojářů aDev Meetups. Přijďte si ve středu 8. října v 18 hodin do budovy FIT ČVUT poslechnout přednášku od Jany Moudré o tom, jak se dá automatizovat testování uživatelského rozhraní. … více »
Gug.cz | Komentářů: 0
27.9. 22:02 | Humor
Dnes, 27.9.2014, slaví životní jubileum Larry Wall, jeden z největších programátorů historie. Evropské oslavy tohoto významného jubilea se konají dnes v obci Perl, která sousedí s městečkem Schengen na hranici mezi Sárskem a Lucemburskem. Laudatio pronesou pánové Guido van Rossum a Yukihiro Matsumoto. :-)
m-bi | Komentářů: 162
27.9. 12:24 | Nová verze
Vyšla OpenMandriva Lx 2014.1. Jedná se o opravné vydání OpenMandrivy Lx 2014.0 (zprávička). Opravuje 233 chyb. Řada balíčků byla aktualizována. Nejnovější OpenMandriva přináší Linux 3.15.10 (nrjQL), KDE 4.13.3, Firefox 32.0.3 nebo LibreOffice 4.3.1. Podrobnosti v poznámkách k vydání.
Ladislav Hagara | Komentářů: 10
26.9. 21:42 | Humor
Shellshock není jenom aktuální bezpečnostní problém v Bashi (zprávička). Již v březnu 2012 byla představena v Bashi napsaná vesmírná střílečka ShellShock.
Ladislav Hagara | Komentářů: 8
26.9. 12:22 | Pozvánky

Letošní ročník konference LinuxDays vám přinese 47 přednášek od zajímavých osobností nejen z linuxového světa, stánky velkých i malých projektů, stavbu 3D tiskáren, HPC workshop, občerstvení s dobrou kávou a hlavně setkání se zajímavými lidmi pohybujícími se okolo otevřeného světa.

… více »
Petr Krčmář | Komentářů: 0
25.9. 20:09 | Komunita
OpenBSD 5.6 vyjde 1. listopadu. Oficiální skladba Ride of the Valkyries (Wikipedia) je už ale k dispozici. Lze ji stáhnout ve formátech MP3 a OGG.
Ladislav Hagara | Komentářů: 10
25.9. 15:52 | Bezpečnostní upozornění
Mozilla Foundation vydala bezpečnostních upozornění MFSA 2014-73 (Mozilla Foundation Security Advisory 2014-73). V kryptografické knihovně NSS (Network Security Services) byla nalezena vážná bezpečností chyba. Chyba je opravena jak v aktuálních verzích samotné knihovny, tak ve Firefoxu 32.0.3, Thunderbirdu 31.1.2 a SeaMonkey 2.29.1.
Ladislav Hagara | Komentářů: 2
Hlasuji z:
 (81%)
 (13%)
 (3%)
 (2%)
 (1%)
 (1%)
Celkem 3953 hlasů
 Komentářů: 45, poslední 21.9. 11:10
Rozcestník
Reklama
Autoškola testy online Levný benzín

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: 35 %
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: 12744×
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
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
otasomil avatar 12.11.2009 17:05 otasomil | skóre: 35 | 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 !!! ...Proti čemu tady bojujeme....Poznejte sílu nového protokolu
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 Fa & Bi | skóre: 65 | blog: Delfinárium
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 Fa & Bi | skóre: 65 | blog: Delfinárium
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 Fa & Bi | skóre: 65 | blog: Delfinárium
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 Fa & Bi | skóre: 65 | blog: Delfinárium
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 Fa & Bi | skóre: 65 | blog: Delfinárium
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 Fa & Bi | skóre: 65 | blog: Delfinárium
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 Fa & Bi | skóre: 65 | blog: Delfinárium
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 Fa & Bi | skóre: 65 | blog: Delfinárium
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 Fa & Bi | skóre: 65 | blog: Delfinárium
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 Fa & Bi | skóre: 65 | blog: Delfinárium
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 Fa & Bi | skóre: 65 | blog: Delfinárium
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 Fa & Bi | skóre: 65 | blog: Delfinárium
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 Fa & Bi | skóre: 65 | blog: Delfinárium
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: 12
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: 12
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: 12
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: 58 | 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: 58 | 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: 12
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: 10 | 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: 10 | 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 Fa & Bi | skóre: 65 | blog: Delfinárium
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: 58 | 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: 12
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: 12
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
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
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: 12
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: 12
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 Fa & Bi | skóre: 65 | blog: Delfinárium
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: 12
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
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   Powered by Hosting 90 Server hosting
© 1999-2013 Argonit s. r. o. Všechna práva vyhrazena.