Feed Artigos Comentários

Arquivo de Agosto de 2006



Dicas Hildebrando em 27 Ago 2006

AJAX response

Ao utilizar invocações assíncronas com AJAX, com o objeto de consulta a dados (preencher um combo, dados do cliente, dados do produto, endereço do cep) normalmente estes dados vêm separados por um token. Algo como:

Av. Ibirapuera|206|04087-070|São Paulo|SP

Porém esta simples linha pode te causar problemas se vc nao setar o conten-type correto no response.

Assim, quando fizer uma consulta com AJAX e o seu javascript:alert de depuração do retorno apresentar ‘????’ basta setar o response com os valores:


response.setHeader("Cache-Control", "no-cache");
response.setContentType("text/plain; charset=ISO-8859-1");
PrintWriter out = response.getWriter();
out.print("Av. Ibirapuera|206|04087-070|São Paulo|SP");

Noticias Hildebrando em 25 Ago 2006

Blog 2Solutions no ar……

A publicação esta meio atrasada porém finalmente oficializamos a publicação do blog da 2Solutions.

Como proposta procuramos difundir tecnologias utilizadas em nossos projetos bem como disponibilizar um espaço para que nossos colaboradores possam comentar situações/informações que possam contribuir com o mercado de TI.

Este espaço é aberto, inclusive a comentários dos visitantes.

Seja bem vindo

Dicas Hildebrando em 21 Ago 2006

Hospede o seu próprio site…

Aqui na empresa estamos montando uma estrutura para suportar projetos dos nossos colaboradores. Assim vou compartilhar alguns problemas encontrados caso voce (sua empresa) também se aventure .

1 - Voce precisa registrar seu dominio no registro.br (sites nacionais). registro.br.

No ato do registro é obrigatorio informar os DNS que irão resolver o nome do seu domínio.

Voce pode utilizar o seu próprio servidor para ser o um dos DNS, porém para funcionar vc precisa liberar a porta 53 tcp/udp para o servidor do registro.br conseguir acessar.

2 - Para tratar diferentes dominios, é necessário configurar no Web Server multiplos domínios. Com o Apache isso é possível através do VirtualHost

3 - Analise bem a utilzação de um servidor de email, pois são esses que os robôs mais procuraram. Eu recomendo a utilização do QMail (logo que finalizar o HowTo eu ja posto aqui) junto a fortes politicas de firewall.

4 - Monitore a utilização do servidor com os logs do WebServer.

5 - Todo projeto deve ter um grupo. E é associado usuarios ao grupo do projeto, assim é possível liberar um diretorio de FTP para acesso aos arquivos do Projeto.

Logo que identificar mais eu ja posto aqui.

Tutorias Hildebrando em 19 Ago 2006

Uhmmmm….Web Services…. é facil fazer?

Quero comentar um tutorial postado no guj (guj.com.br) sobre a utilização do Apache Axis para o desenvolvimento/publicação/acesso de um WS.

Segue comentários.

Estou querendo realizar alguns teste de produtividade no desenvolvimento de Web Services.

Vou começar criando um projeto Web no Eclipse (com WTP)

(ja foi feito o download do Apache Axis 1.4 anteriormente)

Vou seguir um tutorial interessante que encontrei no site do guj.

http://www.guj.com.br/java.tutorial.artigo.180.1.guj

Entao vamos ver:

So vou fazer algumas coisas diferentes do tutorial pois ja quero ir desenvolvendo no Eclipse.

Primeiro ja copiei todos os jars do apache para o /lib

Depois copiei o conteudo do web.xml que utiliza o recurso do Apache Axis para o web.xml atual da aplicação

Apos criar as classes RecursosHumanos e Empregado vou executar uma linha de comando para geração do WSDL

Ops, vou ter que colocar as classes do Axis no CLASSPATH

Entrar no diretorio bin do projeto (via prompt mesmo)

SET AXIS_HOME=c:/axis-1_4
SET CLASSPATH=%CLASSPATH%;./
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/lib/axis.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/lib/saaj.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/lib/jaxrpc.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/lib/commons-logging-1.0.4.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/lib/commons-discovery-0.2.jar
SET CLASSPATH=%CLASSPATH%;%AXIS_HOME%/lib/wsdl4j-1.5.1.jar

java org.apache.axis.wsdl.Java2WSDL -o ../config/resource/rh.wsdl -l"http://localhost:8080/ApacheAxis/services/RecursosHumanosWS" -n "urn:RecursosHumanos" rh.RecursosHumanos

deu alguns erros principalmente por causa da localização dos arquivos.

ou seja, vc tem que executar este comando de dentro de um diretorio que contenha os .class das classes….(Dãããã)

WSDL gerado com sucesso

Executar outro programa agora para gerar as classes de orquestração… Este comando deve ser executado da raiz do seu projeto, indicando qual o diretorio dos fontes

java org.apache.axis.wsdl.WSDL2Java -o ./JavaSource -s -S true -Nurn:RecursosHumanos=rh.ws config/resource/rh.wsdl

Apos a geração de todos os arquivos é preciso instanciar o objeto respectivo e repassar para os metodos deste objeto. Este funciona como uma fachada WS para o teu Objeto (RecursosHumanos), detalhe apenas para o objeto de retorno Empregado

Vamos em frente.

Agora é so rodar a ferramenta de publicação de dentro do diretorio raiz do projeto

java org.apache.axis.client.AdminClient -l"http://localhost:8080/ApacheAxis/servlet/AxisServlet" JavaSource/rh/ws/deploy.wsdd

Depois disso é so acessar pelo browser

http://localhost:8080/ApacheAxis/servlet/AxisServlet

Show de bola…se clicar nos links wsdl é apresentado os WSDL de todos os componentes publicados no Servidor.

Vamos la. Próximo passo fazer um client para acessar os WS.

É lembrado no tutorial da importancia da publicação do WSDL, sem ele nao da para saber como/o que chamar o WebService.

Entrar no diretorio raiz é digitar:

java org.apache.axis.wsdl.WSDL2Java http://localhost:8080/ApacheAxis/services/RecursosHumanosWS?wsdl -o ./JavaSource -p rh.ws.cliente

Show de Bola…foi gerado os arquivos e ta tudo rodando elegancia…

No artigo é apresentado um arquivo de teste cliente que funciona perfeitamente.

Ou seja, a produtividade com o ApacheAxis é muito boa.

Utilizando o mesmo Eclipse WTP é possivel criar um WebService a partir de uma classe de negocio. O processo pode utilizar o Apache Axis e o resultado é mais imporessionante ainda. É quase que Next>>Next>>Finish