plugins - development - Obteniendo la excepción SLF4JLogFactory al intentar acceder a servicios web desde Confluence 3.0
create jira plugin (1)
Atlassian bifurcó la biblioteca de ejes y ahora Jira usa eje-1.3-atlassian-1 y no el último eje-1.4 de Apache; axis-1.3-atlassian-1 usa la versión 1.0.4 de commons-logging, no 1.1.1 como axis-1.4.
Cambiar la dependencia del complemento del eje-1.4 al eje-1.3-atlassian-1 resolvió un problema similar para mí. Sospecho que SLF4JLogFactory podría lanzar a org.apache.commons.logging.LogFactory en 1.0.4 pero no en 1.1.1, pero no lo he probado.
Editar: aquí es donde puedes obtener el frasco y la fuente .
He podido comprender las dependencias y los procedimientos para agregar archivos Jar a un proyecto Confluence con la ayuda de un amigo de aquí. Pero estoy enfrentando un error con la adición de estos JAR. La causa exacta del error visto es:
javax.servlet.ServletException: Servlet execution threw an exception
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313)
caused by: java.lang.ExceptionInInitializerError
at org.apache.axis.attachments.AttachmentsImpl.<clinit>(AttachmentsImpl.java:39)
caused by: java.lang.ClassCastException: org.apache.commons.logging.impl.SLF4JLogFactory cannot be cast to org.apache.commons.logging.LogFactory
at org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:41)
Lo que estoy tratando de hacer es:
- Escribe un plugin personalizado
- Modifique la UI para que pueda aceptar los valores ingresados por el usuario, digamos For Eg Credentials.
- Use esas credenciales y acceda a un método de servicio web y obtenga un boleto para el usuario válido.
Ahora solo puedo consumir los servicios web, no tengo autoridad para modificarlos. Como resultado, funciona con 8 jarras esenciales. De estos, los que yo uso, no creados por mí, son los populares.
commons-discovery 0.2
commons-logging 1.1
jaxrpc 1.0
log4j 1.0
wsdl4j
1.0 axis 1.4
Si utilizo el eje 1.2.1 en lugar de 1.4; me sale el error.
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.axis.description.ParameterDesc.setOmittable(Z)V
Pero usar el eje 1.4 me da el ticket requerido en mi proyecto local java de muestra de prueba NON CONFLUENCE. (Estoy poniendo mi código en un contenedor de basura para que la pregunta no sea extremadamente larga)
Esta es la clase que he escrito. De hecho, he podido agregar mi pestaña personalizada en el área "Avanzado" y al hacer clic en la pestaña se activa el método de ejecución.
Este es el error que estoy viendo en el error del sistema resultante (el que tiene el título Vaya, se ha producido un error).
Quisiera tener alguna sugerencia suya que pueda ayudar mucho a comprender lo que se debe hacer para salir de este error. Estoy seguro de que llamar a servicios web desde Confluence no debe ser una tarea compleja. ¿Es la combinación de JAR de la que dependo que me está dando el problema? Todo lo que conduzca a lo mismo será inmensamente útil.