23. prosince 2004

IT: WseWsdl2.exe troubles

I would like to point out few problems which I've experienced during my experiments with WseWsdl2.exe tool. I am using WseWsdl2.exe from Microsoft Web Services Enhancements 2.0 SP2. The WseWsdl2.exe is WSDL to SoapClient Tool. It should replace current .NET Wsdl.exe tool. What I find quite disappointing are the error messages produced by this tool. WSDLs we use in our project are compilable without any problems with Wsdl.exe but WseWsdl2.exe complains. What is worse, that the error messages are very unclear. Documentation didn't help us, neither the Google search. We had to take our WSDLs and remove element after element to find out what's wrong with them. Here are the findings, maybe it will help someone having similar troubles. This is the reason for this post.


First problems occur when the WSDL definition contains more than one message part in the (SOAP) message. But the error message says this:



An error occurred processing this WSDL. More information:
System.Exception: Invalid WSDL file from SoapService
at ClientGen.ClientGen.GetBindingType(...)
at ClientGen.ClientGen.WriteCSOperationBinding(...)
at ClientGen.ClientGen.WriteOperationBinding(...)
at ClientGen.ClientGen.WriteClass(...)
at ClientGen.ClientGen.GenerateCode(...)
at ClientGen.ClientGen.GenerateCode(...)
at ClientGen.Class1.Main(String[] arguments)

I know that WSDLs describing messages with more than one message part (referring element) in SOAP body should not be used. It is stated in the WS-I Basic Profile 1.1. We can change the WSDL to wrapped-literal, no problem. But the tool should not produce this general error!


The second problem I would like to point occurs when the WSDL contains unsupported extension element. We are using custom extesion elements within the soap:binding. The extension element present in our WSDL is not marked with wsdl:required="true". So it should be silently ignored if the consumer does not understand him or cannot process him (as stated in the WS-I Basic Profile 1.1, which also clarifies and tights up the rules from the WSDL specification). WseWsdl2.exe does not ignore them - but fails:



An error occurred processing this WSDL. More information:
System.InvalidCastException: Specified cast is not valid.
at ClientGen.ClientGen.WriteCSOperationBinding(...)
at ClientGen.ClientGen.WriteOperationBinding(...)
at ClientGen.ClientGen.WriteClass(...)
at ClientGen.ClientGen.GenerateCode(...)
at ClientGen.ClientGen.GenerateCode(...)
at ClientGen.Class1.Main(String[] arguments)

Again, the error message is very, very unclear! For me it seems that the level of WSDL specifications support is much lower than it was in previous version. Without any warning in the documentation. Or Am I missing something?


11. prosince 2004

Google napovida

Nechtel bych na svem blogu sklouznout k tomu, abych tady svymi prispevky automaticky vynasel do nebe velky a neskodny Google pokazde, kdyz prijde s necim novym. Osobne si myslim, ze se v budoucnu muzeme dockat situace, kdy budou mit lidi na Google spadeno podobne jako dneska na Microsoft. Nicmene, prejdeme k veci :-)

Google Suggest prinasi dalsi vylepseni ve vyhledavani na internetu. Vlastne to neni nic jineho nez autocomplete - automaticke doplnovani. V okamziku kdy zadavate do formulare vyhledavaci stranky Googlu svuj dotaz, on vam napovida. Muze vam to usetrit psani, ale taky vidite, jaka souslovi lide nejcasteji hledaji.

Fuknce autocomplete je vetsine uzivatelum PC dobre znama. Setkate se s ni napriklad kdyz zadavate adresu do browseru nebo treba kdyz pisete adresu prijemce v emailu. Vlastne logicky - pouziti i ve vyhledavani v internetu - udelal az Google. Vsadim se, ze se do roka se s touto featurou setkame taky v nejednom z ceskych vyhledavacu.

Co me na tom zarazi jsou dve veci: zpusob jakym byl tento napad prenesen do praxe a taky - ze to vazne pekne funguje.

Jak autor myslenky pise, cela vec ho napadla behem obeda. V Googlu maji udajne pravo venovat az 20% sveho pracovniho casu vlastnim projektum. To je jiste velmi lakave (zde bych jen podotknul, ze se nelze domnivat, ze by vam Google platil za vase soukrome projekty, ale jde o projekty ktere jsou ve vysledku ve vlastnictvi company). Takze za par mesicu svuj napad dovedl do konce.

To ze to funguje skutecne pekne si zkuste sami. Zadejte si jedno slovo a za chvilku se dozvite, v jakych souslovich se nejcasteji vyhledava. Kdyz vezmeme v uvahu kolik miliard stranek Google indexuje a za jakou chvilicku vam nabidne relevantni slova, tak je to vazne k neuvereni. Je jasne, ze napriklad domnivat se, ze po napsani slova Milan se dockam sveho prijmeni, je zatim zcestne :-) I kdyz nekteri znami jiz na Googlu maji slusny page rank, takze u nich to funguje.

Takze, vyzkousejte si sami!

10. prosince 2004

Aplikace: Alice - robot ktery chatuje za vas

V minulem prispevku jsem se predstavil alternativu k ICQ - instant messenger Miranda.

Dnes si ukazeme jeden z mnoha pluginu, kterymi muzeme Mirandu rozsirit.

Plugin Anna the Alicebot slouzi spise k zabave. Chatuje proste za vas. Podporuje bohuzel jen anglictinu, ale i tak s nim lze zazit spoustu legrace ;-)

Instalace je jednoducha, staci ho rozbalit do podadresare Plugins adresare kde mate nainstalovanou Mirandu. Pak doporucuju restart a v Options nalezt dialog Plugins/Alicebot kde naleznete par checkboxu, kterymi muzete plugin nastavit - napr. kdy se ma aktivovat - zda po kazde prijate zprave, ci po kazde prijate zprave od lidi ktere nemate v contact listu nebo proste jen tehdy, kdyz jste Away. Muzete zapnout/vypnout varovani, ze se dotycny zacina bavit s robotem. Osobne se mi taky osvedcilo zapinat robota v kontextovem menu dialogu v kterem s nekym chatujete. Pokud jiz vas to dale nezajima, nebavi nebo se proste chcete pobavit na ucet volaneho ;-) tak v kontextovem menu zaskrtnene Alicebot a on se jiz o pokracovani konverzace postara.

Plugin je implementaci bota www.alicebot.org. Dusevno Anny je zde dodane ve forme AIML souboru, ktere by sly dale upravovat ;-). Pokud si nechcete instalovat plugin, ale chcete si vyzkouset jak se takovou umelou zenskou komunikuje, tak si to muzete vyzkouset online na teto adrese: Chat with A.L.I.C.E..

Plugin jsem samozrejme otestoval na nekterych kamaradech. O tom jak se Pi stal pokusnym kralikem meho experimetu se rozepisuje na svem blogu v prispevku nezazivne ;-) nazvanem Umela inteligence. Doporucuju precist pro predstavu jak Anna komunikuje :-)

Co bych pluginu vytknul:

  • az moc casto se pta jaky pocasi je Atlante
  • neumi spocitat 1 + 1 a odbyde vas ze proste do matiky nedela
  • reakce teto slecny jsou rychlejsi nez myslenkove pochody kterekoliv jine slecny, takze to chtelo mit moznost pozdrzet jeji bleskurychle reakce o nejaky delay specifikovany v Options
  • plugin by mel umoznovat zapnout v Options robota pro lidi, kteri vas rusi kdyz jste ve stavu Do Not Disturb nebo Occupied, dale taky per-contact.


V budoucnu bych se chtel vratit k tomuto tematu, protoze me zaujalo ze engine Alice ;-) je k dostani se zdrojaky v Jave na http://j-alice.sourceforge.net a jeji personality na http://annabot.sourceforge.net.

PS: Zkouseli jste plugin nebo online chat s robotem? Pastnete se nejaky dialogy...

Aplikace: Miranda Instant Messenger

Dneska bych se chtel kratce zminit o Mirande, pekne alternative k ICQ ci jinym instant messengerum pro Windows. Miranda neni zadna novinka, je hodne popularni a spousta z vas ji jiste i pouziva. Ja ji pouzivam skoro rok a jsem s ni spokojeny. Prvotnim impulsem pro jeji instalaci bylo zamoreni ICQ reklamou. Reklamni prouzky obmenujici se pravidelne s kazdou zaslanou zpravou zbytecne zdrzovaly, zvlast pri pripojeni mobilem pomoci GPRS. A crackovani ICQ pri kazde instalaci uz me taky nebavilo.

Prvotni dojmy z Mirandy mozna nejsou nejak bombasticke, nicmene po kratke chvili zjistite ze lze spoustu veci nastavit, upravit, rozsirit a pozmenit - proste jak se spravne cesky rika - customizovat ;-).

Dale Miranda podporuje vicero protokolu. To znamena ze pres jedno rozhrani, jeden seznam kontaktu (contact list), muzete komunikovat s lidmi, kteri pouzivaji ruzne messengery: s temi kteri maji ICQ, s dalsimi co maji Yahoo messenger a nebo treba MSN Messenger. A samozrejme nesmi chybet ani Jabber a dalsi.

Instalace je jednoducha, v podstate jde o to rici, ktere protokoly chcete pouzivat a specifikovat detaily k nim. Pro ICQ to znamena zadat svoje cislo a heslo.
Podobne je to i s ostatnimi.

Takze, cim se muze Miranda pochlubit v zakladni verzi, proste jaky ma featury:

  • je zadarmo

  • je pro Windows - od NT, pres 95 a 98 az po XP/2003

  • podporuje vicero protokolu: ICQ, AIM, Jabber, MSN, Yahoo

  • sezere minimum pameti a minimum diskoveho prostoru

  • snadno se instaluje

  • snadno se rozsiruje

  • siroka komunita zarucuje dalsi vyvoj


Pokud jsem vas stale nepresvedcil, tak se mrknete na nektere screenshoty.

Stahnout Mirandu muzete zde.

V dalsich postech bych se chtel rozepsat o nekterych pluginech, kterymi si muzete Mirandu rozsirit.

PS: Zajimalo by me, jaky soft pouzivate pro instant messaging vy?

7. prosince 2004

CzechEnglish

Jestlize jste jedni z tech, pro nez je studium anglictiny nikdy nekoncici story, tak bych se s vami chtel podelit o velice uzitecnou stranku: CZEnglish. Autori na ni shromazdili seznam nejcasteji chybne pouzivanych anglickych slov a souslovi typickych pro ty, jimz je cestina rodnym jazykem. V nekterych jsem se taky nasel ;-) Poucili jste se taky?

3. prosince 2004

Stay tuned

Jelikoz od svych (mnoha :-)) netrpelivych ctenaru stale dostavam dotazy, proc nebloguju, chci uvest situaci na pravou miru...

Jednoduse proto, protoze ted nemam moc casu. Pripravuju se na zkousku z angliny. Kdyz jsem prijel na jare z Irska, tak jsem si rekl, ze s anglinou musim pohnout. Prihlasil jsem se na kurz, ktery konci zkouskou. Puvodne jsem mel v planu FCE, ktery uz byl bohuzel kapacitne vycerpany. Nevyplaci se vsechno nechavat na posledni chvili. Takze jsem si pohotove vybral BEC Vantage, ktery ma byt na stejnem levelu, jenom je tematicky zamereny na obchodni anglictinu. Zkousku mam zitra a po par letech prozivam podobne pocity jako za studentskych casu na koleji :-)

Jen ta strahovska Desitka a Himalaya tu chybi, aby sel clovek zkonzultovat cerstve ziskane vedomosti s kolegy na tzv. "pulnocni". Pokud se chcete vratit do reality studentskych let na Strahove, prectete si tenhle povedeny clanek: Zivot na koleji Strahov.