TI
Tecnologia da Informação
Consumindo web service do Protheus com JAX-WS
2O que é web service?
De acordo com a W3C, web service é um software projetado para suportar interação máquina-máquina de forma interoperável através de uma rede. Ele tem uma interface descrita em um formato máquina-processável (especificamente WSDL). Sistemas que interagem com o web service de uma maneira prescrita por sua descrição, utilizam mensagens SOAP, normalmente transmitidas através de HTTP com uma serialização XML em conjunto com outros padrões web.
O caminho.
Para a integração com outros sistemas, o ERP Protheus da Totvs provê uma série de web services e ainda existe a possibilidade de desenvolver e publicar serviços customizados dentro da plataforma.
Figura 1 – Página com a descrição dos serviços disponíveis do Protheus.
O problema.
Ao iniciar o desenvolvimento de uma aplicação em Java 6, utilizando o Netbeans 7.0 como IDE e a biblioteca JAX-WS para o consumo dos serviços, foi exibida a mensagem “WEBSERVICE ERROR : Soap Prefix Missing : USERPORTAL : PRTLOGIN : Formato do Pacote Soap DESCONHECIDO.” ao tentar executar uma chamada simples ao serviço USERPORTAL, método PRTLOGIN.
(mais…)
Como descobrir seu dispositivo desconhecido.
0Algumas vezes é necessário formatar o computador, porém, utilizar aquele DVD de restauração padrão que vem com a máquina acaba instalando coisas além do necessário, consumindo recursos do sistema que poderiam ser utilizados em atividades mais nobres.
Desta forma surge o primeiro inimigo da formatação: o DISPOSITIVO DESCONHECIDO.
Mesmo depois do advento do plug and play e Windows Update alguns dispositivos acabam sendo esquecidos e quando vamos atualizar o sistema operacional eles aparecem de forma alienígena.
Exemplificando, podemos ver na imagem abaixo um dispositivo denominado Co-processador não sendo reconhecido pelo Windows 7 64-bit, então o que fazer?
(mais…)
Redes em malha sem fio
0Resumo
Este post tem como objetivo principal realizar a apresentação do padrão para redes sem fio com múltiplos saltos proposto pelo IEEE 802.11s. Este padrão propõe uma solução de encaminhamento através de múltiplos saltos no nível de enlace, assim diferenciando-o das soluções tradicionais que operam no nível de rede. Inicialmente serão abordados os principais conceitos de redes locais IEEE 802.3, redes locais sem fio que seguem o padrão IEEE 802.11 e a junção destes padrões na infraestrutura. Apresentar brevemente a solução para comunicação em múltiplos saltos no nível MAC e projetos piloto que implementam este tipo de comunicação.
Será que o do Mac também é bom?
2Não é exatamente para isso que server essa App, mas ela também se propõe a mandar as entradas no “journal” para um blog.
Já que é assim, resolvi criar esse texto pra ver como funciona tal característica da App.
O corretor ortográfico é “estilo Word” com a linha sublinhada e tudo mais, também faz a inclusão de imagens sem problemas no estilo “drag-n-drop”.
Só falta testar mesmo o envio para o WordPress, se você conseguir ler isso é porque funcionou.

Windows Live Writer, alguém já usou?
0Por algum motivo surgiu um “assistente” do Windows Live Writer na minha máquina pedindo para que fosse feita a configuração do software. Como eu gosto sempre de testar coisas resolvi fazer esse post no próprio e até agora parece bom.![]()
Ele buscou as categorias já definidas no blog, deixa escolher a data de publicação e as “marcas” (aka keywords) também. O corretor ortográfico existe mas não é automático como no Word (aquelas cobrinhas podem sem um bocado chatas mesmo!). Existe um preview que utiliza inclusive o tema fazendo aquela “velha” expressão WYSWYG ser mais verdadeira do que nunca. Finalmente para os puristas o “código-fonte” em html também está numa aba para ser editado! E tudo isso sem timeout e sem alguns bugs que encontrei no editor nativo do WordPress.
Quem sabe o blog volta a vida com esse software!
Mais um dá série: “Eu amo o Brasil” – Episódio: Comprar um Software
0Ontem estava num momento de superação, resolvi vencer meus traumas e tentar novamente assistir Blu-Ray no PC.
Checklist:
- Leitor de BD: OK!
- Placa de Video com HDMI e Suporte à HDCP: OK!
- Display com HDMI e Suporte à HDCP: OK!
- Software Player: Fail!
Tinha que comprar um software… Procurei rapidamente pois a pizza já tava chegando. As três opções que encontrei são pagas (Dicas? Alguém tem uma solução free?) , fui ver o preço de todas.
Segundo o site que fez a análise, o PowerDVD estava mais caro do que o Total Media que por sua vez estava mais caro que o WinDVD. Não tive dúvida, WinDVD.
Ao “chegar” ao site do programa da Corel, tive uma supresa ao ver que ele detecta sua localização e coloca a versão apropriada para o visitante. Fui jogado no “.br” e fiquei abismado:
R$199,00!! Que absurdo!! Verifiquei que na parte superior do site tem um selecionador de paises e com apenas um clique…
Na versão US o preço virou US$39,99!!! Que pelo câmbio de ontem saiu em reais por R$68,57 através do PayPal!
Você também não ama o “Custo Brasil”…
P.S.: Sobre o Software: Não tem muita firula e faz o serviço.
Logitech Driving Force GT – Unboxing + Review
0Caros leitores, eis meu primeiro post.
Espero que gostem!
Hoje recebi um dos meus sonhos de consumo, o volante Logitech Driving Force GT. Quem curte jogos de corrida sempre se imagina correndo utilizando um bom volante, um volante que dê a verdadeira sensação de direção de um carro. E este é o caso desta maravilha!
Ele vem muito bem embalado e assusta à primeira vista, devido ao tamanho da caixa.
O produto é fabricado em plástico rígido de ótima qualidade e tem dimensões agradáveis para a direção (cerca de 28 cm)
Nos primeiros testes pude perceber que ele é muito preciso, tanto na direção como na aceleração e frenagem (No próximo post tentarei colocar vídeos da utilização). Possui funcionalidades específicas para o Gran Turismo que permite a modificação de alguns atributos do carro durante a corrida (O que não é muito simples pois temos que fazer o ajuste de forma correta sem esquecer de fazer as curvas).
Recomendo a todos os entusiastas de simuladores de corrida. O equipamento é excelente.
GUI para Scripts
0Atualmente tenho desenvolvido scripts para automação de algumas rotinas e então fui apresentado ao Zenity.
Quando se escreve scripts, é possível usar o Zenity para criar diálogos simples que interajam graficamente com o usuário:
- Você pode criar um diálogo para obter informações do usuáro. Por exemplo, você pedir ao usuário que selecione uma data em um diálogode calendário ou para escolher um arquivo por um diálogo de seleção de arquivo.
- Você pode criar um diálogo para prover informações ao usuário. Por exemplo, você pode usar um diálogo indicador de progresso para indicar o estado atual de uma operação ou usar um diálogo de mensagem de aviso para alertar o usuário.
O Zenity lhe habilita a criar os seguintes tipos de diálogo simples:
- Calendário
- Seleção de arquivo
- Lista
- Ícone de notificação
- Mensagem
- Indicador de progresso
- Entrada de texto
- Informação de texto

Uma das funcionalidades que achei mais interessante e util foi a barra de progresso. Partindo deste ponto criei um script para mostrar uma barra te progresso enquanto aguardamos um período de tempo para que alguma tarefa seja executada novamente.
#!/bin/bash
(
for(( i=0; i<=$1; i++))
do
j=`echo $i \* 100 / $1 | bc`;
sleep 1;
echo $j;
done
) |
zenity --progress --percentage=0 --auto-close --title="Titulo da Janela" --text="Mensagem de conteudo da janela"
Para acessar a documentação completa do Zenity é só conferir a página do projeto.
Tradução Prey para português Brasil!
1#!/bin/bash
####################################################################
# Prey – by Tomas Pollak (http://bootlog.org)
# Portuguese (Brazil) lang file v 0.2 – by Gustavo Vinocur (http://www.oslunaticos.com.br)
# URL : http://preyproject.com
# License: GPLv3
####################################################################
if [ -n "$DEFAULT_INSTALLPATH" ]; then # estamos rodando o instalador
# mensagens do instalador
HELLO_IN_LANGUAGE=” — Prey vai falar em português então!”
WHERE_TO_INSTALL_PREY=” -> Onde você quer que instalemos o Prey? [$DEFAULT_INSTALLPATH] ”
USING_DEFAULT_INSTALL_PATH=” — Bom, usando o caminho de instalação padrão…”
INVALID_INSTALL_PATH=” !! Caminho de instalação inválido. Diretório pai não existe!\n”
SETTING_INSTALL_PATH=” — Certo, definindo $INSTALLPATH como nosso caminho de instalação.”
IT_SEEMS_PATH=”Parece que você já instalou o Prey em”
DIFFERENT_PATH=”\nA nova versão usa um caminho diferente para a instalação,”
REMOVE_OLD_FILES=”então devemos remover os arquivos antigos, já que eles não serão mais usados.”
ASK_RM_OLD_FILES=”Você quer que façamos isso automaticamente pra você?”
DELETING_OLD_FILES=” — Removendo os arquivos de instalação antigos do Prey…\n”
CONFIG_FILE_EXISTS=” -> O arquivo Config já existe! Quer pular todas aquelas perguntas chatas? (Não recomendado) [n] ”
SKIP_INSTALL_QUESTIONS=” — Certo, então atualize somente os arquivos necessários!\n”
DEFINE_REPORT_METHOD=” -> Que método de reporte você gostaria de usar? (http, email) [http] ”
IS_REGISTERED_ON_WEB=” — Você já se registrou no site?”
DEFAULT_REPORT_METHOD=” — Usando o painel de controle (http) como nosso método de reporte. Tudo certo!”
ADD_API_KEY=” -> Por favor entre com sua chave de API (API Key) fornecida pelo web service: ”
INVALID_API_KEY=” !! Chave de API inválida! Lembre-se de se registrar em preyproject.com para receber uma.\n”
ADD_DEVICE_KEY=” -> Por favor entre com sua chave de dispositivo (Device Key) para este PC fornecida pelo web service: ”
INVALID_DEVICE_KEY=” !! Chave de dispositivo inválida! Lembre-se de se registrar em preyproject.com para receber uma.\n”
DESIRED_USER_WEB=” — Certo, então deixe-nos fazer pra você. Por favor digite o seu nome completo: ”
ASK_EMAIL_WEB=” — Por favor digite o seu email: ”
DESIRED_PASS_WEB=” — Por favor digite a sua senha: (Nós só a usamos para se registrar por você!) ”
PROBLEM_SIGNUP_WEB=”Ocorreu um problema para se registrar no web service. Por favor tente novamente ou se registre diretamente pelo site”
PROBLEM_RESPONSE_WEB=”A resposta que tivemos foi:”
USING_DEFAULT_APP_URL=” — Usando caminhos para a aplicação web. Nada a escrever aqui!”
ENTER_EMAIL_ADDRESS=” -> Para qual endereço de email você gostaria que o email fosse enviado? (e.g. caixadeemail@dominio.com) [] ”
INVALID_EMAIL_ADDRESS=” !! Você precisa definir uma caixa de entrada. Saindo…\n”
ENTER_SMTP_SERVER=” -> Qual servidor smtp devemos usar? (com a porta) [smtp.gmail.com:587] ”
DEFAULT_SMTP_SERVER=” — Iremos usar o do Gmail então! ”
ENTER_SMTP_USER=” -> Digite o seu nome de usuário smtp: (e.g. caixadeemail@gmail.com)”
DEFAULT_SMTP_USER=” — Certo, nosso nome de usuário SMTP será” # o instalador adicionará a variável email
ENTER_SMTP_PASS=” -> Digite a sua senha smtp: (Não será mostrada) [] ”
INVALID_SMTP_PASS=” !! Você precisa digitar uma senha válida. Saindo…\n”
YES_NO=”y/n”
YES=”y”
CHECK_URL_OR_NOT=” — Você gostaria que o Prey checasse uma URL? (Não significa que o relatório só será gerado a cada vez que o programa rodar) [n] ”
ENTER_URL=” — Certo, então qual será a URL? [i.e. http://meuservidor.com/url_checagem_prey] ”
INVALID_URL=” !! Você precisa definir uma URL. Saindo…\n”
SET_TIMING=” — Certo, essa é a última. Com que frequência (em minutos) você quer que o Prey seja rodado? [$TIMING] ”
INSTALLING_SOFTWARE=” — Certo, instalando programa necessário…\n”
COPYING_ISIGHTCAPTURE=” — Copiando iSightCapture para $INSTALLPATH…”
COPYING_FILES=”\n — Copiando os arquivos necessários para $INSTALLPATH e definindo as permissões…”
ADDING_CRONTAB=” — Adicionando uma entrada no crontab…”
INSTALL_OK=”\033[1m\n — Tudo certo! O Prey está funcionando agora. Você agora pode remover este diretório com segurança.
– Se algum dia você quiser desinstalar o Prey, é só remover o diretório $INSTALLPATH
e remover a linha do Prey no crontab raiz: \n
\t $ sudo rm -Rf $INSTALLPATH\n \t $ sudo crontab -l | grep -v prey | sudo crontab -\n
– Para atualizações lembre-se de dar uma checada em http://preyproject.com!\033[0m\n\n”
else # mensagens de status do prey
STRING_START=”\n ### PREY $version abre suas asas!\n”
STRING_TRY_TO_CONNECT=” — Tentando se conectar a primeira rede wifi aberta disponível…”
STRING_NO_CONNECT_TO_WIFI=” — Não foi possível encontrar uma maneira de se conectar a uma rede wifi aberta!”
STRING_CHECK_URL=” — Checando URL…”
STRING_NO_PROBLEM=” — Nada para se preocupar.
\n”
STRING_PROBLEM=” — TEMOS UM PROBLEMA!!!”
STRING_WRITE_EMAIL=” — Escrevendo email…”
STRING_SENDING_EMAIL=” — Enviando o relatório…”
STRING_ERROR_EMAIL=”\n\033[1m !! Ocorreu um problema ao tentar enviar o email. Você tem certeza que ele foi configurado corretamente?
Se você está usando o Gmail, tente remover o ‘@gmail.com’ do campo smtp_username no arquivo de configuração do Prey.\033[0m\n”
STRING_REMOVE_EVIDENCE=” — Removendo todos os traços de evidência…”
STRING_DONE=” — Pronto! Boa caça!
\n”
EMAIL_NOTICE=”"
EMAIL_HEADER=”Boas notícias meu amigo, parece que nós o encontramos.\n\nAqui está o relatório do seu computador:\n\n”
EMAIL_FOOTER=”\n\nAgora, vá pegar o desgraçado!\n\n–\nSeu humilde servente, Prey\nhttp://preyproject.com”
fi




































