El siguiente error se crea cuando la librería JAXB 2.1 no se incluye en el proyecto por DELANTE de JAX-WS 2.1.
SEVERE: Exception sending context initialized event to listener instance of class com.sun.xml.ws.transport.http.servlet.WSServletContextListener
com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: runtime modeler error: Wrapper class es.ua.itm.jaxws.Run is not found. Have you run APT to generate them?
at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1114)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1212)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Thread.java:619)
jueves, 4 de septiembre de 2008
lunes, 1 de septiembre de 2008
[wsimport] Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
El siguiente error me ha aparecido nada más volver de vacaciones, sin razón aparente:
[wsimport] Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
[wsimport] at com.sun.org.apache.xml.internal.resolver.readers.TextCatalogReader.nextToken(TextCatalogReader.java:249)
[wsimport] at com.sun.org.apache.xml.internal.resolver.readers.TR9401CatalogReader.readCatalog(TR9401CatalogReader.java:81)
[wsimport] at com.sun.org.apache.xml.internal.resolver.Catalog.parseCatalog(Catalog.java:680)
[wsimport] at com.sun.xml.ws.util.xml.XmlUtil.createEntityResolver(XmlUtil.java:222)
[wsimport] at com.sun.tools.ws.wscompile.WsimportOptions.parseArguments(WsimportOptions.java:140)
[wsimport] at com.sun.tools.ws.wscompile.Options.parseArguments(Options.java:225)
[wsimport] at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:154)
[wsimport] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[wsimport] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[wsimport] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[wsimport] at java.lang.reflect.Method.invoke(Method.java:597)
[wsimport] at com.sun.tools.ws.Invoker.invoke(Invoker.java:116)
[wsimport] at com.sun.tools.ws.WsImport.main(WsImport.java:52)
BUILD FAILED
/home/jmgomez/Documents/Projects/intime/nbproject/jaxws-build.xml:59: wsimport failed
Lo he solucionado eliminando la referencia al web service que tenía en la aplicación (update.xml) y volviéndola a crear. La razón por la que me ha aparecido este error me parece que es porque modifiqué el build.xml, porque hago la referencia en otro proyecto y éste funciona perfectamente.
[wsimport] Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
[wsimport] at com.sun.org.apache.xml.internal.resolver.readers.TextCatalogReader.nextToken(TextCatalogReader.java:249)
[wsimport] at com.sun.org.apache.xml.internal.resolver.readers.TR9401CatalogReader.readCatalog(TR9401CatalogReader.java:81)
[wsimport] at com.sun.org.apache.xml.internal.resolver.Catalog.parseCatalog(Catalog.java:680)
[wsimport] at com.sun.xml.ws.util.xml.XmlUtil.createEntityResolver(XmlUtil.java:222)
[wsimport] at com.sun.tools.ws.wscompile.WsimportOptions.parseArguments(WsimportOptions.java:140)
[wsimport] at com.sun.tools.ws.wscompile.Options.parseArguments(Options.java:225)
[wsimport] at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:154)
[wsimport] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[wsimport] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[wsimport] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[wsimport] at java.lang.reflect.Method.invoke(Method.java:597)
[wsimport] at com.sun.tools.ws.Invoker.invoke(Invoker.java:116)
[wsimport] at com.sun.tools.ws.WsImport.main(WsImport.java:52)
BUILD FAILED
/home/jmgomez/Documents/Projects/intime/nbproject/jaxws-build.xml:59: wsimport failed
Lo he solucionado eliminando la referencia al web service que tenía en la aplicación (update.xml) y volviéndola a crear. La razón por la que me ha aparecido este error me parece que es porque modifiqué el build.xml, porque hago la referencia en otro proyecto y éste funciona perfectamente.
jueves, 24 de julio de 2008
Redirigir con tubería la salida de error a la entrada estándar
Hoy me he visto con una necesidad bastante curiosa: he necesitado redirigir la salida de error del svn a la entrada del sed sin mezclar las salidas y que al final las salida de error se quedase en la de error y la de estandar en la de estándar. Lo he conseguido con la siguiente instrucción:
svn "$@" 2> /dev/stdout > /dev/stderr | sed -e '/no version information available/d' 2> /dev/stdout > /dev/stderr
Es muy importante mantener el orden de redirección de las salidas, si no se mezclarán, es decir, primero redirigir la de error y luego la estándard.
svn "$@" 2> /dev/stdout > /dev/stderr | sed -e '/no version information available/d' 2> /dev/stdout > /dev/stderr
Es muy importante mantener el orden de redirección de las salidas, si no se mezclarán, es decir, primero redirigir la de error y luego la estándard.
martes, 15 de julio de 2008
Tomcat: SEVERE: WSSERVLET11: failed to parse runtime descriptor: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: PermGen space
La solución parece ser añadir la siguiente línea al principio de catalina.sh:
JAVA_OPTS="-XX:MaxPermSize=512m"
JAVA_OPTS="-XX:MaxPermSize=512m"
domingo, 13 de julio de 2008
awk: fatal: attempt to use array `function (from array)' in a scalar context
Este error se produce en awk o gawk cuando se usa una función que intenta calcular la longitud de un array que obtenemos como parámetro de una función. Parece ser que no se puede saber la longitud de un array si no estás en el mismo bloque de código en el que la declaras. Una solución sencilla es pasar a esta función, a parte del array, la longitud del array.
lunes, 30 de junio de 2008
java.lang.LinkageError: JAXB 2.0 API is being loaded but needs 2.1 API
El texto completo del error es:
Caused by: java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/home/jmgomez/Documents/Projects/intime/build/web/WEB-INF/lib/
jaxb-impl.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)
Un error que a mí me ha aparecido en multitud de ocasiones, sobretodo cuando he tenido que migrar de versión del NetBeans o del Tomcat. La solución es copiar el api del JawxWS 2.1 que incorpora el Netbeans a un directorio endorsed/ ubicado en el apache. Si este directorio no existe se debe crear. Un ejemplo:
cp /usr/local/netbeans-6.0.1/java1/modules/ext/jaxws21/api/* /usr/local/netbeans-6.0.1/apache-tomcat-6.0.16/endorsed/
Si utilizas java en vez de un servidor de aplicaciones, debes incluir esas librerías en:
$JRE_HOME/lib/endorsed
(Puede que sólo sea necesario el jaxb-api.jar)
Caused by: java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/home/jmgomez/Documents/Projects/intime/build/web/WEB-INF/lib/
jaxb-impl.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)
Un error que a mí me ha aparecido en multitud de ocasiones, sobretodo cuando he tenido que migrar de versión del NetBeans o del Tomcat. La solución es copiar el api del JawxWS 2.1 que incorpora el Netbeans a un directorio endorsed/ ubicado en el apache. Si este directorio no existe se debe crear. Un ejemplo:
cp /usr/local/netbeans-6.0.1/java1/modules/ext/jaxws21/api/* /usr/local/netbeans-6.0.1/apache-tomcat-6.0.16/endorsed/
Si utilizas java en vez de un servidor de aplicaciones, debes incluir esas librerías en:
$JRE_HOME/lib/endorsed
(Puede que sólo sea necesario el jaxb-api.jar)
Suscribirse a:
Entradas (Atom)
