Problema con ibatis
Tengo un web services hecho con axis y con el framework ibatis.
El problema que tengo es cuando creo mi archivo ArchivoWebService.aar
con el archivo dentro de MET-INF/service.xml
Este es mi service.xml
com.cuponium.usuario.main.Principal
Cuando cargo mi archivo al axis2.El problema que me esta saliendo es este:
Caused by: java.lang.RuntimeException: Error inicializando la clase UtilSqlConfig class. Cause:java.io.IOException: Could not find resource com/cuponium/usuario/ibatis/SqlMapConfig.xml
at com.cuponium.util.UtilSqlConfig.(UtilSqlConfig.java:34)
... 34 more
----------------------------------------------------------------------
Este es mi archivo:
public class UtilSqlConfig {
private final static Logger logger = Logger.getLogger(UtilSqlConfig.class);
public static final SqlMapClient sqlMap;
static {
try {
String resource = "SqlMapConfig.xml";
Reader reader = Resources.getResourceAsReader(resource);
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (Exception e) {
logger.error(Constantes.UTILSQLCONFIG_ERRORINICISQLCONFIG, e);
throw new RuntimeException(
Constantes.UTILSQLCONFIG_ERRORINICISQLCONFIG + e);
}
}
public static SqlMapClient getSqlMapInstance() {
return sqlMap;
}
public UtilSqlConfig() {
PropertyConfigurator.configure(Util.leerMain("archivosUsuario.log4j"));
}
}
------------------------------------------------------
Tengo una imagen de mi extructura en el comienzo.
Adjunto | Tamaño |
---|---|
rutas.JPG | 29.46 KB |
- Inicie sesión o regístrese para enviar comentarios
Ruta
De entrada
Yo nunca he visto un archivo con ésa extensión ;¬)
No se ve el la estructura del archivo services.xml
y cuando lo invocas en el código...
String resource = "SqlMapConfig.xml"; //Aquí debería ir la ruta completa del package del archivo ..
//En todo caso creo que sería
String resource = "com/cuponium/usuario/ibatis/SqlMapConfig.xml" ASI COMO ESTO MAS O MENOS
//y ya lo envías
Reader reader = Resources.getResourceAsReader(resource);
// más codigo.....
}
Por éso la excepción de.
Disculpas no me supe explicar
Disculpas no me supe explicar en el primer caso.
Aqui tengo la pregunta mejor explicada.
Este es mi error:
Caused by: java.lang.RuntimeException: Error inicializando la clase UtilSqlConfig class. Cause:java.io.IOException: Could not find resource com/cuponium/usuario/ibatis/SqlMapConfig.xml
at com.cuponium.util.UtilSqlConfig.(UtilSqlCo nfig.java:34)
... 34 more
Que se ignifica que no encuentra mi archivo SqlMapConfig.xml.
Cuando creo mi archivo.aar para hacer mi web service con axis2.
En eclipse me funciona muy bien pero cuando este proyecto lo cargo al axis2, me sale ese error de ejcucion.
Bueno es obbio que dice que no encuentra mi archivo SqlMapConfig.xml, pero donde le puedo indicar, donde esta alojado el archivo.
Claro yo lo pongo asi como tu
Claro yo lo pongo asi como tu lo dices y me corre muy bien pero en el axis no me corre!
Mi codigo es igual al tuyo.
public class UtilSqlConfig {
public static final SqlMapClient sqlMap;
static {
try {
String resource = "com/cuponium/usuario/ibatis/SqlMapConfig.xml";
Reader reader = Resources.getResourceAsReader(resource);
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (Exception e) {
throw new RuntimeException(
"Error Exception:" + e);
}
}
public static SqlMapClient getSqlMapInstance() {
return sqlMap;
}
public UtilSqlConfig() {
}
}
MMM No sé
No sé si sea un bug de Axis2 pero te recomiendo que despliegues tu servicio con AXIS2 en forma de WAR, no sé por qué pero siempre qué hay recursos como archivos properties, xml y anexos en un aar no carga este tipo de archivos, igual y habrá qué configurar algo extra.
SAlúdos.
MMM
Pero axis2, solo te permite cargar archivos con extension .aar.
Claro que no...
También puedes hacer tu servicio en forma de war, para que no tengas instalado el servidor de servicios que te da AXIS2, y de esta forma no dependas de esto. Formas tu war y lo puedes instalar en cualquier contenedor de servlets tomcat, geronimo, web logic, WAS. WAR en la sección Axis2 Services viene la estructura de un war para un servicio de AXIS2.
Ahora para que te des una idea descarga AXIS2 en version war, hay cosas que no te sirven pero te da una idea del contenido de tu servicio Descarga AXIS2 en WAR
Saludos.
Esk lo tengo descargado en
Esk lo tengo descargado en version war.
Cuando creo mi proyecto.aar lo que hago es ponerlo en la carpeta:
C:\Archivos de programa\Apache Software Foundation\Tomcat 7.0\webapps\axis2\WEB-INF\services\proyecto.aar
Asi despliego mis proyectos e intentado poniendole hay mi war pero no funciona, no lo reconoce
ok
Si en tu aar tienes estos archivos properties y xml pasalos al folder /WEB-INF/classes respetando los paquetes qué tienes en tu aar, te lo comento por qué a mi me paso esto una vez, todos los archivos de propiedades que necesitaba cargar no los encontraba hasta que los puse en la carpeta /WEN-INF/classes del war, puedes hacer esta prueba igual y te sucede el mismo problema qué yo tenía.
Aquí lo explica con más detalle en el paso 7. Paso 7 que de hecho te da una solución más sofisticada que la guarrada que yo te propongo.
Saludos.