Archive for the ‘tomcat’ Category

GeneXus Can’t open client.cfg / Null inputStream

Monday, September 21st, 2015

genexus fabricio de los santos tomcat

Migrando unos contextos de tomcat de un servidor a otro, luego de haber creado la base de datos, copiado los contextos, editado el archivo client.cfg para el nuevo servidor, para el tomcat y lo levanto de nuevo y ejecuto el link de la aplicación y me da el siguiente error:

 

 

javax.servlet.ServletException: java.lang.InternalError: Can’t open C:\tomcat\bin\client.cfg / Null inputStream

Aparentemente lo primero que apunta es a un tema de permisos para llegar al archivo client.cfg

Me fijo en el directorio y veo que el archivo está en el folder classes pero el tema es que como lo había editado, por algún motivo el windows server me lo renombró de client.cfg para client.cfg.txt y como lo veía por el explorador de windows, este no me mostraba la extensión del archivo.

Le saqué la extensión y funcionó correctamente.

Espero les sea útil. Muchas gracias por leer mi blog!

Hasta el próximo post. Un gran abrazo!


Fabricio De los Santos GeneXus
Fabricio De los Santos
_________________________________________
Coaching and Mentoring GeneXus, ScrumMaster, Project Manager, K2B Tools Agent – The best Patterns Tool to integrate with GeneXus
Siga meus blogs em www.fabriciodelossantos.com

GeneXus HTTPClient.HTTPConnection.setTcpNoDelay(Z)

Thursday, November 14th, 2013

Não sei se é a melhor forma de trabalhar com a versão beta de Tilo.

Mas geralmente tenho por costume fazer o download do arquivo zip do night build e copiar por cima da pasta de instalação da versão Tilo.

Depois executo genexus / install e pronto para rodar, dependendo da situação um build all é recomendável, inclusive apagar os *.ver e *.ari antes disso.

O problema é que desta forma certos arquivos jar que possam vir atualizados na versão podem não ser copiados ao webapp de nossa aplicação java.

Então ai copio os arquivos “.jar” que estão em “C:\Program Files (x86)\Artech\GeneXus\GeneXusXTilo\gxjava” ao folder “lib”

Reinicio o tomcat e listo.

Só que dependendo da funcionalidade você pode pensar que está tudo ok até que aparece o erro

“HTTPClient.HTTPConnection.setTcpNoDelay(Z)”

A solução está em “apagar” ou se quiser melhor “não copiar” o arquivo “GXWS.jar” na pasta “lib”

Se já foi copiado não adianta fazer o “reload” do contexto, tem que reiniciar o tomcat para funcionar normalmente.

Na verdade isto não é um problema da beta de Tilo, isto acontece com qualquer aplicação java rodando num tomcat quando se copia este arquivo.

Tomara este post tenha sido de utilidade.

Muito obrigado por seguir meu blog.

Para ler outros tips


Lembre-se que na dELFASOFT www.delfasoft.com.br estamos desenvolvendo para Smart Devices com GeneXus Tilo

Até o próximo post!

 

Fabricio De los Santos GeneXus
Fabricio De los Santos
_________________________________________
Coaching and Mentoring GeneXus, ScrumMaster, Project Manager, K2B Tools Agent – The best Patterns Tool to integrate with GeneXus
Siga meus blogs em www.fabriciodelossantos.com

Caracteres acentuados com GeneXus e Tomcat

Thursday, May 9th, 2013

Caracteres acentuados com GeneXus e Tomcat fabricio de los santos

Antes de começar, quero deixar claro, que existem várias formas de resolver este problema que na verdade depende muito do cenário.

Em particular neste caso, um arquivo era subido numa aplicação com GeneXus como campo Blob a um banco de dados mysql.
Quando o arquivo não tinha acentuação por exemplo arquivo.ext (sendo ext qualquer extensão pdf, docx, jpg, etc) a descarga que era feita num WebPanel visualizador, era feita sem problema nenhum.

Mas quando o arquivo tinha por exemplo ( “~” – “´” – “^” ) ai a url que era formada pelo nome do arquivo, não era interpretada corretamente pelo servidor.

Como o requerimento era que nada podia ser modificado do arquivo (por exemplo, codificar o nome do arquivo, para ser reconhecido sem caracteres especiais) o foco foi para o servidor, neste caso Apache Tomcat.

A solução foi adicionar o atributo URIEncoding=”UTF-8″ no TAG “Connector” do arquivo “server.xml

O arquivo deve ficar similar a

<Connector port=”8080″ protocol=”HTTP/1.1″
connectionTimeout=”20000″
redirectPort=”8443″
URIEncoding=”UTF-8″ />

Uma dica para o teste!

Após reiniciar o tomcat, feche o browser onde estava testando, e abra outro para testar, não se deixe enganar pelo cache do browser

🙂

Espero que ajude.

Obrigado por seguir meu blog.
Até a próxima,

Fabricio De los Santos

__________________________________________________________
Coaching and Mentoring GeneXus, ScrumMaster, Project Manager
K2B Tools Agent – The best Patterns Tool to integrate with GeneXus
www.fabriciodelossantos.com
www.delfasoft.com.br

Consumir WebServices com GeneXus

Friday, November 23rd, 2012

Quando certos WebServices passam a ser uma dor de cabeça

webservice genexus delfasoft fabricio de los santos

Algumas vezes temos que consumir um WebService gerado também por GeneXus em algum projeto no inicio do desenvolvimento, onde existem mudanças de todo tipo, de lógica de negócio, de arquitetura, etc e o WebService que numa hora funciona deixa de funcionar.

Ai o fornecedor do WebService, indica a situação, nós executamos o WSDL import wizard como fizemos a primeira vez, mas quando vamos a executar o programa que usa o WebService, nada feito ou não muda nada ou da um erro de difícil interpretação. Não conseguimos de jeito nenhum que o WebService funcione.

Poderia ser alguma mensagem de erro tipo assim:

javax.servlet.ServletException:

java.lang.AbstractMethodError: com.genexus.xml.GXXMLSerializable.writexml

(Lcom/genexus/xml/XMLWriter;Ljava/lang/String;Ljava/lang/String;Z)V at

com.genexus.GXObjectCollectionBase.writexmlcollection(Unknown Source)

Bem, não tudo é perfeito, isso algumas vezes acontece.

Você pode tentar todas as coisas que já tentei em outras oportunidades, e acredito seguirei tentando no futuro, mas no final vou te dizer o que SIM sempre funciona, ou talvez alguém escreva um comentário dizendo “isso acontece por… ou isso se resolve também de outra forma…” e não temos que ser tão extremistas, mas da forma que consegui até agora é a seguinte:

Primeira coisa, tente importar o WSDL de novo, talvez nada muda e tudo segue funcionando.

Se não funcionou, no objeto que está usando o WebService, comente toda a referência e apague as variáveis, de SDT, Objeto externo relacionado, etc e importe de novo o WSDL

Se ainda não funciona, pode procurar no Servidor para apagar as classes ou dlls relacionadas, reiniciar o servidor e tentar de novo…

Mas neste ponto eu já estou indo a solução extrema, que tem sido útil em outras oportunidades para outros problemas similares.

Apague todo o relacionado a esse WebService, e crie outro Environment, e importe o WSDL novamente, e com certeza vai caminhar.

Tomara alguém tenha outra dica, mas tenha certeza que como falei acima, se está no inicio de algum projeto criar outro environment vai levar menos tempo que quebrar a cabeça.

Boa sorte.

Até a próxima,

Fabricio De los Santos

__________________________________________________________
ScrumMaster, Project Manager, Coaching and Mentoring GeneXus
K2B Tools Agent – The best Patterns Tool to integrate with GeneXus
www.fabriciodelossantos.com
www.delfasoft.com.br

Cannot Find Server – The page cannot be displayed

Friday, May 2nd, 2008

(Postado originalmente no dia 20/09/06)

Provavelmente ao desinstalar Tomcat, pretendemos manter os subdiretórios com nossos conteúdos os quais não desejamos apagar.
Então decidimos por deixar os diretórios quando Tomcat fez essa pergunta na hora de desinstalar.
Após isso instalamos novamente o Tomcat e nos vemos que o Administrador não consegue levantar.
Uma das alternativas que achei na época foi baixar o serviço do Tomcat e renomear o diretório da instalação de tínhamos anteriormente, por exemplo XXTomcat5, já que ao instalar novamente, quedou alguma coisa errada e ainda o Tomcat segue apontando para aquela instalação anterior.

Fabricio De los Santos
Gerência de Projetos –
Consultoria GeneXus –
ERP – Sistemas de Missão Crítica – Bancos de Dados.

Veja meus blogs em:
www.fabriciodelossantos.com

Tips: Instalación de Tomcat 5.5.20 en Windows para usar con GeneXus Java sin Deployment para MySql

Tuesday, November 21st, 2006

Instalación de Tomcat 5.5.20 en Windows para usar con GeneXus Java sin Deployment para MySql en 16 pasos.

El presente instructivo, manual o tutorial de Instalación de Tomcat para GeneXus y MySql, no deja de ser algo que a mi me sirvió para instalar Tomcat y poder usarlo con GeneXus rápidamente.
Muchas veces instalamos una herramienta y luego tenemos que volvero a hacerlo y nos cuesta tanto trabajo como la primera vez porque nos hemos olvidado.
Aquí un ayuda memoria de los pasos para instalar el Tomcat 5.5.20 para usarlo con GeneXus 9.0 y el generador java.

Espero que este instructivo siga vigente por mucho tiempo, así que como hago referencia a bajar algunos Archivos de Internet, y estos no siempre están disponibles después de un tiempo determinado, voy a subir los archivos que se necesitan a un ftp propio por si quieren bajarlos de ahí.

Espero les sea útil.

Paso 1
Primero que nada y para que vayas ganando tiempo mientras vas leyendo el instructivo te paso lo que tienes que bajarte y los links.

apache-tomcat-5.5.20.exe

jdk-1_5_0_09-windows-i586-p.exe

mysql-connector-java-5.0.4.zip

mysql-5.0.21-win32.zip

mysql-administrator-1.1.9-win.msi

nmake.zip

Paso 2
Recomiendo desinstalar la versión de Tomcat que tengan instalado, cuidado porque en la desinstalación pregunta si deseas eliminar las aplicaciones que

tengas, y puede suceder que tengas una aplicación particular ya funcionando en tomcat con otra versión anterior y la borres.
Te recomiendo que la copies a otro lugar.
Si no entiendes que estoy diciendo fíjate en :

C:\Archivos de programa\Apache Software Foundation\Tomcat 5.5\webapps

si tienes alguna aplicación que sea tuya, si la tienes respaldala en otro lugar del disco y luego dile al wizard de desinstalación de tomcat que borre todo.

Paso 3
Si tienes instalado el JDK desinstalalo y si quieres puedes desinstalar el runtime también para que no te de problema con las versiones.

Paso 4
Instalate el jdk-1_5_0_09-windows-i586-p.exe
Cuando te pida la ruta de instalación si quieres luego seguir el ejemplo al pie de la letra, te recomiendo instalarlo en:

C:\Java\jdk1.5.0_09

Paso 5
Instalate el apache-tomcat-5.5.20.exe
En cierto momento el wizard de instalación te pregunta donde está el JDK y te pone una ruta por defecto, tu debes buscar la que mencioné en el paso 4.

Paso 6
Luego de instalado el Tomcat te debería quedar en la barra de tareas el ícono del monitor de tomcat.

Si no aparece el monitor del tomcat puedes ejecutarlo

y debes levantar el tomcat si no esta levantado

Paso 7
Tomcat no ejecuta servlets que no estén detallados en el archivo web.xml de cada aplicación.
Como este instructivo no muestra como hacer deployment debemos descomentar las lineas para que se permita la ejecución de clases anonimas.
Para esto debemos ubicar el archivo web.xml en C:\Archivos de programa\Apache Software Foundation\Tomcat 5.5\conf
editarlo, y buscar el siguiente código:

Lo que haremos es cerrar y abrir el comentario para que luego cuando hagamos deployment sea más fácil ubicar que es lo que tenemos que comentar.
Quedando el código de la siguiente forma:

También debemos hacer lo mismo con el siguiente código:

Paso 8
Para ver si está todo bien con el tomcat, lo bajamos y lo volvemos a subir con el monitor tomcat y abrimos el navegaro y colocamos la siguiente url:

http://localhost:8080/servlets-examples/servlet/HelloWorldExample

Donde nos debe aparecer “hola mundo” como texto en la página.

Paso 9
Podemos ver el administrador de tomcat si ponemos la siguiente url:

http://localhost:8080

Paso 10

Nos colocamos en el directorio C:\Archivos de programa\Apache Software Foundation\Tomcat 5.5\webapps y creamos un nuevo folder con el nombre de nuestra

aplicacion por ejemplo “mi_sistema”

Dentro de este folder “mi_sistema” creamos los folders “images”, “temp” y “WEB-INF”.
Dentro del folder “WEB-INF” creamos los folder “classes” y “lib”.

Paso 11
Descomprimimos el archivo mysql-connector-java-5.0.4.zip (anteriormente bajado) en una carpeta temporal y busacmos el archivo

mysql-connector-java-5.0.4-bin.jar que es el connector jdbc.

Copiamos este archivo al folder “lib” creado en el Paso 10.

En este mismo folder copiaremos otros archivos “.jar” que se encuentran en el directorio de la instalación de GeneXus

C:\Archivos de programa\ARTech\GeneXus\GeneXus90\gxjava

Estos son:

gxclassr.jar (este archivo no se encuentra con esta extensión sino que se encuentra como “.zip”, debemos copiarlo y luego renombrarlo a “.jar”)
GxUtils.jar
iText.jar

Paso 12

Instalamos mysql con mysql-5.0.21-win32.zip y luego creamos la base de datos en nuestro ejemplo “mi_sistema” con el administrador de base de datos de tu

preferencia. Puedes usar si quieres el mysql-administrator-1.1.9-win.msi que bajaste en el Paso 1

Paso 13
Copiaremos al folder C:\Java (creado en el Paso 4) los siguientes archivos necesarios que se harán referencia desde Genexus

El connector jdbc que usamos en el Paso 11 mysql-connector-java-5.0.4-bin.jar
Por que este lo vamos a tener 2 veces copiado? Porque en teoria podrías tener el tomcat instalado en otra maquina, y serían usandos en momento de ejecución

por tomcat. Aquí estamos copiando los archivos que serán utilizados por genexus.

El nmake.exe y nmake.err (es un utilitario que permite construir proyectos a partir de archivo .mak. Lo provee el Visual Studio .Net ,también es provisto por

otros lenguajes que utilizan Makefiles, como Java) esta dentro del zip nmake.zip

Paso 14

Ahora en Genexus, configuraremos las propiedades del modelo se la siguiente forma.
Creamos el nuevo modelo de prototipo o produccion con el nombre correspondiente y las siguientes características

El Enviroment
Languaje: Java
User Interface: Web Form
DBMS: MySql
Target Path: Data002

Luego cuando quiera hacer el impacto de base de datos le damos cancelar, para nosotros definir las propiedades a mano sin el wizard

En el boton Properties

En el nodo Client Server Information

Blob local storage path:
/temp/

En el nodo Web Information

Servlet Directory :
C:\Archivos de programa\Apache Software Foundation\Tomcat 5.5\webapps\mi_sistema\WEB-INF\classes

Temp media directory:
/temp

Static Content Base URL:
/images

Static content directory seen from client:
C:\Archivos de programa\Apache Software Foundation\Tomcat 5.5\webapps\mi_sistema\images

En el boton DBMS Options

Algunos datos obligatorios a completar

Access technology to set: JDBC

Database name: mi_sistema

Server name: localhost

Server TCP/IP Port: 3306

Connect to server: At first request

Show connection dialog: Never

Userid:Usuario

User password: password

MySql Version: 4.x to 5.0.2

En el boton Execution

Plataform: Sun SDK

Classpath:
gxclassr.zip;GxUtils.jar;.;C:\java\mysql-connector-java-5.0.4-bin.jar; C:\Archivos de programa\Apache Software Foundation\Tomcat

5.5\common\lib\servlet-api.jar

Compiler Path:
C:\Java\jdk1.5.0_09\bin\javac.exe
direct
Make Path:
C:\Java\nmake.exe

Interpreter Path:
C:\Java\jdk1.5.0_09\bin\java.exe

Web Aplication Base URL:
http://localhost:8080/mi_sistema/servlet/

Boton Advanced

Web Browser Settings: Use Default Browser

Luego al final boton Set as default

Para comprobar que la configuración de Genexus con respecto a Tomcat quedó en forma correcta, escribe la siguiente url en el browser:
http://localhost:8080/mi_sistema/servlet/com.genexus.webpanels.gxver

El mensaje que debe aparecer para indicar que está todo ok es el siguiente:
Running GeneXus Runtime Classes Version 9.0.2.079

Paso 15

Crear una trn en diseño e imapctarla en el modelo recién configurado, o si ya teníamos transacciones creadas, solo hacer el impacto de base de datos.
Build / Impact Database

Reorganize

Paso 16

Armar los web panels main de prueba, especificar y compilar.
Ejecutar la aplicación en http://localhost:8080/mi_sistema/servlet/hmain

Felicitaciones!!!
Usted ya tiene andando su aplicación en java.

Espero le haya sido util este instructivo.

Fabricio De los Santos
Gerencia de Proyectos –
Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com

Tips: Como hacer nuestro clásico debug en java/tomcat con GeneXus

Thursday, September 21st, 2006

Generalmente cuando programábamos para plataformas Windows y queríamos saber que valor tenía una variable o un campo, simplemente poníamos un msg en el programa y este aparecía en pantalla.
Para realizar esta tarea en java si estamos programando para web, podemos usar la siguiente sentencia:&msg=’Texto identificatorio ’ + &variable
Msg(&msg,status)

Luego de esto vamos al directorio que está instalado el tomcat y buscamos la carpeta “logs”
Ejemplo de una instalación Windows:

C:\Program Files\Apache Software Foundation\Tomcat 5.0\logs

Aqui buscamos el archivo stdout.log, lo abrimos y buscamos el “texto identificatorio” que pusimos en el msg() y allí encontraremos el valor de nuestra variable.

Fabricio De los Santos
Gerencia de Proyectos –
Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com

Tips: Cannot Find Server – The page cannot be displayed

Wednesday, September 20th, 2006


Es probable que al desinstalar Tomcat, quisiéramos mantener subdirectorios con contenidos nuestros y no querramos borrarlos.
Entonces decidimos dejar los directorios cuando Tomcat te consulta al desinstalarlo.
Luego si instalamos de nuevo Tomcat nos podemos encontrar con que no se levanta el administrador.
(SMI) Bajar el servicio de Tomcat y renombrar el directorio de la instalación que mantuvimos (ejemplo xxTomcat5), ya que al instalar evidentemente algo quedó mal y está apuntando a la instalación vieja.

Fabricio De los Santos
Gerencia de Proyectos –
Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com