Přeskočit na hlavní obsah

Příspěvky

Zobrazují se příspěvky z 2010

Jak na xs:anyURI v JAXB

Při práci s JAXB (Java API for XML Binding) jsem narazili na zajímavou chybu při unmarshalování. Jestliže byl typ XML elementu xs:anyURI a hodnota obsahovala na začátku, či konci mezery např. <test:Config xmlns:test="http://www.mycompany.com/test/"> <test:MyServiceUri> http://www.myserver.com/myService </test:MyServiceUri> </test:Config> pak navzdory tomu, že to bylo validní vůči dané XML Schema instanci, unmarshalovaná hodnota tohoto elementu byla null v případě cílového typu java.net.URI a nebo obsahovala i ony nežádoucí mezery v případě cílového typu String. Takže první krok k vyřešení problému bylo nahlášení chyby do Issue trackeru JAXB RI a pak nezbývalo než hledat, jak to ošetřit na mé straně než bude vydána opravená verze JAXB. Nakonec jsem použil workaround, v němž vstupní XML soubor (String, InputStream, apod.) načtu se zapnutou validací jako DOM a teprve ten předám k unmarshalování. Nechtěné mezery v DOMu mizí jako zázrakem.

Jak na CRL a jejich URL

Občas se stane, že si při práci s X509 certifikáty nevystačíte jen s možnostmi, které nabízí balík java.security.cert a rádi byste vydolovali více informací. Já jsem například řešil požadavek na získání CRL (Certificate Revocation List) souboru pro zadaný certifikát. V takovýchto případech se hodí využít kryptografickou knihovnu Bouncy Castle a pomocí ní vypreparovat třeba i střeva z vašich certifikátů. Jak tedy implementace vypadá? Nejdříve zjistíme, zda certifikát vůbec podporuje rozšíření CRLDistributionPoints a jesliže ano, máme vyhráno. Knihovna Bouncy Castle obsahuje už připravené třídy přímo pro toto rozšíření. Stačí se tedy ponořit do stromových struktur distribučních bodů a získat tak seznam URL, na kterých by měly být připraveny ke stažení CRL soubory. import java.io.IOException; import java.security.KeyStore; import java.security.cert.X509Certificate; import java.util.HashSet; import java.util.Set; import org.bouncycastle.asn1.DERString; import org.bouncycastle.asn

jOpenSpace 2010

Jaká byla letošní Java (ne)konference jOpenSpace , která se odehrála o víkendu 28.-30. května: tradiční – nechyběly tam: javové i nejavové lightning talky open space diskuse degustace vín sportovní aktivity – překvapilo mě relativně velké procento vytrvalostních běžců netradiční – probíhala v Bílém sklepě rodiny Adámkových ve Chvalovicích na Znojemsku komornější – bylo nás okolo 15 volební – někteří účastníci ve Chvalovicích přímo volili do PS, ostatní, kteří si občanskou povinnost odbyli doma, o volbách alespoň diskutovali a sledovali výsledky s wow efektem – smartphony už jsou letos samozřejmost, ale takový iPad, to je věc Díky patří Michalovi Šrajerovi z Inmite za výborně zorganizovanou akci a samozřejmě i Petrovi Adámkovi, který poskytl prostory (a archívy) Bílého sklepa pro tuto akci. Teď už zbývá jen těšit se na další ročník (ne)konference jOpenSpace . Fotky z akce najdete na Picasawebu .