Saturday, April 23, 2005

"I love XML"

Antes de mais nada tenho de confessar a minha profunda admiração pela tecnologia XML.
Acho que devemos ver o XML, como o grande lutador pelos direitos iguais entre plataformas, o XML é o Ghandi do mundo informático.

"Aos olhos do XML, todas as plataformas são iguais." by PR

Para começar, se quiserem uma ferramenta para testar WebServices, vejam o link http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=65a1d4ea-0f7a-41bd-8494-e916ebc4159c.
Esta ferramenta gera um proxy dotNet e o cliente do proxy, podem consultar o código gerado, depois podem invocar o webService com um interface simples e intuitiva. Se quiserem podem especificar a mensagem SOAP, para além disso, têm montes de parametros configuraveis, utilização de web Proxy, autorização, escolher o protocolo http post ou get... vejam, vale a pena.

Agora para bater um bocadinho no dotNet, hehe.
Estava eu muito bem a criar um web service simples, em que a variável de entrada de um dos métodos era uma classe com alguma complexidade quando obtive o seguinte erro:
System.IO.FileNotFoundException: File or assembly name
abcdef.dll, or one of its dependencies, was not found.
File name: "abcdef.dll

Pois é, e melhor de cada vez que invocava o web service o nome do dll alterava...que bom...
Até que descobri uns posts engraçados a explicar que o serialização xml de alguns objectos podem gerar estes erros. Podem consultar este e outrso erros comuns na serialização xml de objectos http://msdn.microsoft.com/xml/default.aspx?pull=/library/en-us/dnxmlnet/html/trblshtxsd.asp.

A solução é testar se a serialização xml dos vossos objectos é possível, se não for, devem alterar a estrutura, implementação tipo tentativa e erro, mas para saberem quais são os problemas mais comuns vejam o link.
Para fazerem estes testes, recorram à tool http://weblogs.asp.net/mnolton/archive/2004/12/01/273027.aspx.
Esta ferramenta indica a fonte do problema, saquem logo de uma vez...

Enfim, tinha mais para dizer, mas dói-me a cabeça, mais tarde, escrevo sobre SOAP Extension.


O Presidente da República

Wednesday, April 13, 2005

Xml Encoding

Depois de uma resolver um conjunto de problemas relativos ao xml encoding, resolvi partilhar algumas notas.

Como já devem ter reparado :P , eu estou a escrever em português, e a lingua portuguesa tem alguns caracteres especiais, como por exemplo: ã; ou seja, os portugueses são especiais.
Ora como nós somos especiais de corrida, temos de ter a vida complicada, porque basicamente somos melhores, assim para que o xml não leve a mal a utilização dos referidos caracteres especiais é preciso conhecer as manhas do XML.

"Tanto paleio para nada!!"
Chiu, estou a treinar a minha vertente politica, já comprei uns óculos e tudo para parecer um politico, mas daqueles a tender para o intelectual.

E agora, alguma informação útil:
Como saber o enconding de um ficheiro xml?
1. Verificar se o 1. caracter do ficheiro é o BOM (Byte Order Character). Valores possiveis: 'UTF-8', 'UTF-16BE', 'UTF-16LE' ou NULL.

2. O xml parser tenta adivinhar o encoding com base nos primeiros caracteres (), tenta resolver num dos seguintes valores: 'UTF-8', 'UTF-16BE', 'UTF-16LE' ou NULL.

3. Se nada disto funcionou, o parser vai olhar para o encoding definido na processing instruction do xml ('').

Já agora, quero chamar a atenção para a utilização de clob de Oracle: muita atenção ao encoding utilizado, do que me apercebi, devem utilizar Unicode encoding.

Mais uma nota. Por defeito o VS.NET 2003, utiliza o Unicode encoding, mas se quiserem podem salvar os ficheiros com outro formato (advanced save options). Nas directivas dos aspx e ascx, podem indicar o charset e encoding utilizado.

E agora, o Euro (€)
Para utilizarem o símbolo do euro e os caracteres portugueses devem usar o xml encoding UTF-16.
Se quiserem outro encoding com suporte para os mesmo caracteres utilizem o iso-8859-15.
Euro aka € aka €

Ficam as notas

Presidente da República - Zé Ninguém

Monday, April 04, 2005

Mais um post...mais uma tool

Para que serve a "nova" tool.
Pois é....
Tem uma função muito simples:
lista os assemblies que estão a ser utilizados por todos os processos, Ou por um processo em especifico. É bonito, lista a localização do dll, a versão o strong name... enfim... melhor do que ficar uma semana inteira na cama a ver "Os amigos do Gaspar".

Por isso, quando ñ gostarem dos talvez e procurarem por certezas façam download da tool:

http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=f0cecd72-7287-4891-8d5e-5763ad14c2fd


O Presidente da República - Sópótóió-tóió