We are trying to invoke one http worklight adapter from another. We have followed steps as explained in
Advanced adapter usage and mashup
This works fine in worklight liberty server in eclipse. However when we deploy these adapters in worklight 6.0 running on websphere, following error is thrown:
[8/5/15 14:51:03:322 EDT] 00000104 webapp E
com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E:
[Servlet Error]-[GadgetAPIServlet]: java.lang.NullPointerException at
com.worklight.core.auth.impl.AuthenticationContext.addIdentitiesToResponse(AuthenticationContext.java:343)
at
com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:208)
at
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
at
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:964)
at
com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1104)
at
com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
at
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:914)
at
com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
at
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)
at
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88)
at
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at
com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at
com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at
com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) at
com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1865)
Adding following security test to configuration fixed it.
<procedure name="XXXX" securityTest="wl_unprotected"/>
Cheers !
Related
I am trying to deploy jersey 1.19 app on websphere 8.5.5.13 running on Java 8
The jersey jars I am using :
jersey-bundle-1.19.1.jar
jersey-core-1.19.jar
jersey-json-1.19.4.jar
jersey-server-1.19.jar
Also I added the following JVM property :
com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine = true
Also I make the classloader for my application to be parent_last
the application start fine but when trying to access any rest method I get the following exception :
com.ibm.ws.webcontainer.servlet.ServletWrapper service Uncaught service() exception thrown by servlet Jersey REST Service: java.lang.LinkageError: loading constraint violation when resolving method "org/codehaus/jackson/jaxrs/JacksonJsonProvider.isWriteable(Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;)Z" : loader "com/ibm/ws/classloader/CompoundClassLoader#5d1f2124" of class "com/sun/jersey/json/impl/provider/entity/JacksonProviderProxy" and loader "org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader#6115f138" of class "org/codehaus/jackson/jaxrs/JacksonJsonProvider" have different types for the method signature
at com.sun.jersey.json.impl.provider.entity.JacksonProviderProxy.isWriteable(JacksonProviderProxy.java:146)
at com.sun.jersey.core.spi.factory.MessageBodyFactory._getMessageBodyWriter(MessageBodyFactory.java:395)
at com.sun.jersey.core.spi.factory.MessageBodyFactory._getMessageBodyWriter(MessageBodyFactory.java:382)
at com.sun.jersey.core.spi.factory.MessageBodyFactory.getMessageBodyWriter(MessageBodyFactory.java:363)
at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:267)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1510)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:307)
at com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:562)
at com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:255)
at com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:259)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1233)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:782)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:481)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1114)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:4028)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1016)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:287)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892)
I was able to solve the issue thanks to #Jarid
I had to add Jackson jars to the application lib folder although those jars doesn't exist on development environment and the application is working fine on development environment !
1- jackson-annotations-2.8.0.jar
2- jackson-core-2.8.1.jar
3- jackson-databind-2.8.1.jar
4- jackson-jaxrs-base-2.8.1.jar
5- jackson-jaxrs-json-provider-2.8.1.jar
6- jackson-module-jaxb-annotations-2.8.1.jar
You can download them all from : https://jar-download.com/artifacts/com.fasterxml.jackson.jaxrs/jackson-jaxrs-json-provider/2.8.1/source-code
After adding jackson jars I had to add the following jersey jar : jersey-servlet-1.19.jar
We have a MFP V7 app that authenticates against a server without any problems when using the development server bundled with eclipse. When we deploy to our test server, the application does not authenticate and in the server side trace we see the message.
The app is running on WAS 8.5.5.0 with a Liberty profile.
/usr/bin/java -version returns:
java version "1.7.0_75"
OpenJDK Runtime Environment (rhel-2.5.4.0.el6_6-x86_64 u75-b13)
Any ideas on how we can determine what is wrong with our configuration?
The stack trace looks like this:
[6/1/15 20:00:38:993 CDT] 00000130 id=com.worklight.core.auth.impl.AuthenticationFilter
1 pushWebsphereSecurityContext Could not push websphere security context by reflection (server may not on WAS 7 or 8): com.ibm.ws.threadContext.ComponentMetaDataAccessorImpl; java.lang.ClassNotFoundException: com.ibm.ws.threadContext.ComponentMetaDataAccessorImpl
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.ClassLoader.findSystemClass(ClassLoader.java:1059)
at com.ibm.ws.classloading.internal.GatewayClassLoader.loadClass(GatewayClassLoader.java:127)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at com.ibm.ws.classloading.internal.ParentLastClassLoader.loadClass(ParentLastClassLoader.java:104)
at com.ibm.ws.classloading.internal.AppClassLoader.loadClass(AppClassLoader.java:366)
at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:191)
at com.worklight.core.auth.impl.WebsphereComponentMetaData.<init>(WebsphereComponentMetaData.java:23)
at com.worklight.core.auth.impl.AuthenticationFilter.pushWebsphereSecurityContext(AuthenticationFilter.java:797)
at com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:116)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:194)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:85)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:949)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1029)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:4499)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.handleRequest(DynamicVirtualHost.java:282)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:954)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(DynamicVirtualHost.java:252)
at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:584)
at com.ibm.ws.threading.internal.Worker.executeWork(Worker.java:439)
at com.ibm.ws.threading.internal.Worker.run(Worker.java:421)
at java.lang.Thread.run(Thread.java:745)
[6/1/15 20:00:38:994 CDT] 00000130 id=com.worklight.common.util.BaseProjectLocal
1 set Set ProjectLocal: VA [6/1/15 20:00:38:994 CDT] 00000130 id=com.worklight.common.util.BaseProjectLocal 3 set java.lang.Throwable
at com.worklight.common.util.BaseProjectLocal.set(BaseProjectLocal.java:56)
at com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:130)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:194)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:85)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:949)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1029)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:4499)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.handleRequest(DynamicVirtualHost.java:282)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:954)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(DynamicVirtualHost.java:252)
at com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:584)
at com.ibm.ws.threading.internal.Worker.executeWork(Worker.java:439) at com.ibm.ws.threading.internal.Worker.run(Worker.java:421)
at java.lang.Thread.run(Thread.java:745)
As per Idan's suggestion, Liberty was upgraded to 8.5.5.5 which helped. We found that the issue was related to the default XSRF checking. For now we are running with securityTest="wl_unprotected" and we can get past the issue. Thanks as always to Idan.
I have setup 2 worklight liberty servers ('worklight' and 'customer') - I have changed the port from 9080 to 9081 in server.xml for the customer server and installed runtimes in both environments.
Each server has unique schema when created as well as unique context paths
My issue is that I can see both my runtimes working in the worklight server console, but I get 'No runtime can be found.' error message when I access the customer console
What else needs to be configured in order for this to work?
Using Worklight 6.2 (fixpack 3) Liberty Server
Windows Server
Server configuration tool used to create everything
messages.log:
[11/25/14 15:49:46:087 GMT] 0000001d com.worklight.server.bundle.project.JeeProjectActivator I FWLST0002I: ========= Project /customerproject started. The project WAR file version is 6.2.0.00.20140613-0730,running on server version 6.2.0.00.20140613-0730. [project customerproject]
[11/25/14 15:49:46:087 GMT] 0000001d SystemOut O ================ End init of customerproject 18517
[11/25/14 15:49:46:181 GMT] 0000001d org.apache.wink.server.internal.servlet.RestServlet I The system is using the com.worklight.oauth.AuthorizationServerApplication JAX-RS application class that is named in the javax.ws.rs.Application init-param initialization parameter.
[11/25/14 15:49:46:321 GMT] 0000001a com.worklight.common.util.jmx.LibertyJMXRegister I FWLSE2008I: MBean registration succeeded for: com.worklight.common.server.jmx.api:type=ProjectManagement_customer,qualifier=advancedproject2 [project advancedproject2]
[11/25/14 15:49:46:337 GMT] 0000001a SystemOut O Cleanup dir is C:\IBMX64\WebSphere\Liberty\usr\servers\customer\workarea\org.eclipse.osgi\bundles\79\data\temp\default_node\SMF_WebContainer\advancedproject2\advancedproject\widget-resources
[11/25/14 15:49:46:352 GMT] 0000001d apache.wink.server.internal.application.ApplicationProcessor I The following JAX-RS application has been processed: com.worklight.oauth.AuthorizationServerApplication
[11/25/14 15:49:46:368 GMT] 0000001d org.apache.wink.server.internal.log.Resources I The server has registered the JAX-RS resource class com.worklight.oauth.TokenValidationEndpoint with #Path(/validation).
[11/25/14 15:49:46:368 GMT] 0000001d org.apache.wink.server.internal.log.Resources I The server has registered the JAX-RS resource class com.worklight.oauth.TokenEndpoint with #Path(/token).
[11/25/14 15:49:46:368 GMT] 0000001d org.apache.wink.server.internal.log.Providers I There are no custom JAX-RS providers defined in the application.
[11/25/14 15:49:46:383 GMT] 0000001a com.worklight.common.util.jmx.RuntimeMBeanHandler W Impossible to decode the password
[11/25/14 15:49:46:415 GMT] 0000001a com.worklight.server.bundle.project.JeeProjectActivator I FWLST0002I: ========= Project /advancedproject2 started. The project WAR file version is 6.2.0.00.20140613-0730,running on server version 6.2.0.00.20140613-0730. [project advancedproject2]
[11/25/14 15:49:46:415 GMT] 0000001a SystemOut O ================ End init of advancedproject2 16599
[11/25/14 15:49:46:555 GMT] 0000001a org.apache.wink.server.internal.servlet.RestServlet I The system is using the com.worklight.oauth.AuthorizationServerApplication JAX-RS application class that is named in the javax.ws.rs.Application init-param initialization parameter.
[11/25/14 15:49:46:805 GMT] 0000001d com.ibm.ws.webcontainer.servlet I SRVE0242I: [customerproject] [/customerproject] [AuthorizationServer]: Initialization successful.
[11/25/14 15:49:46:805 GMT] 0000001d com.ibm.ws.app.manager.AppMessageHelper A CWWKZ0001I: Application customerproject started in 26.351 seconds.
[11/25/14 15:49:46:898 GMT] 0000001a apache.wink.server.internal.application.ApplicationProcessor I The following JAX-RS application has been processed: com.worklight.oauth.AuthorizationServerApplication
[11/25/14 15:49:46:976 GMT] 0000001a org.apache.wink.server.internal.log.Resources I The server has registered the JAX-RS resource class com.worklight.oauth.TokenValidationEndpoint with #Path(/validation).
[11/25/14 15:49:46:976 GMT] 0000001a org.apache.wink.server.internal.log.Resources I The server has registered the JAX-RS resource class com.worklight.oauth.TokenEndpoint with #Path(/token).
[11/25/14 15:49:46:976 GMT] 0000001a org.apache.wink.server.internal.log.Providers I There are no custom JAX-RS providers defined in the application.
[11/25/14 15:49:47:319 GMT] 0000001a com.ibm.ws.webcontainer.servlet I SRVE0242I: [advancedproject2] [/advancedproject2] [AuthorizationServer]: Initialization successful.
[11/25/14 15:49:47:335 GMT] 0000001a com.ibm.ws.app.manager.AppMessageHelper A CWWKZ0001I: Application advancedproject2 started in 26.881 seconds.
[11/25/14 15:49:47:382 GMT] 00000016 com.ibm.ws.kernel.feature.internal.FeatureManager I CWWKF0008I: Feature update completed in 31.270 seconds.
[11/25/14 15:49:47:382 GMT] 00000016 com.ibm.ws.kernel.feature.internal.FeatureManager A CWWKF0011I: The server customer is ready to run a smarter planet.
[11/25/14 15:49:57:159 GMT] 0000001d com.ibm.worklight.dataaccess.datastore.DataStoreUtil I getWorklightDataSourceProperties Read properties file. allProperties: {ibm.worklight.admin.db.jndi.name=java:comp/env/jdbc/WorklightAdminDS}
[11/25/14 15:49:57:159 GMT] 0000001d com.ibm.worklight.dataaccess.datastore.DataStoreUtil I dereferenceProperties Handling propName=ibm.worklight.admin.db.jndi.name propValue=java:comp/env/jdbc/WorklightAdminDS
[11/25/14 15:49:57:159 GMT] 0000001d com.ibm.worklight.dataaccess.datastore.DataStoreUtil I dereferenceProperties Handling propName=ibm.worklight.admin.db.openjpa.Log propValue=
[11/25/14 15:49:57:159 GMT] 0000001d com.ibm.worklight.dataaccess.datastore.DataStoreUtil I dereferenceProperties Handling propName=ibm.worklight.admin.db.type propValue=
[11/25/14 15:49:57:159 GMT] 0000001d com.ibm.worklight.dataaccess.datastore.DataStore I constructor Creating EntityManagerFactory for persistence-unit=WorklightManagementPU-db2 with properties: {openjpa.ConnectionFactory=com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource#5aaacacc}
[11/25/14 15:49:57:299 GMT] 0000001d SystemErr R 31 WorklightManagementPU-db2 INFO [Default Executor-thread-4] openjpa.Runtime - Starting OpenJPA 1.2.2
[11/25/14 15:49:57:315 GMT] 0000001d SystemErr R 47 WorklightManagementPU-db2 INFO [Default Executor-thread-4] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.DB2Dictionary" (DB2/NT64 SQL10010 ,IBM Data Server Driver for JDBC and SQLJ 4.13.127).
[11/25/14 15:49:57:455 GMT] 0000001d com.worklight.common.util.jmx.RuntimeMBeanHandler W Impossible to decode the password
[11/25/14 15:49:57:486 GMT] 0000001d com.ibm.worklight.admin.services.RuntimeService E Failed to obtain JMX connection to access an MBean.
There might be a JMX configuration error: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[11/25/14 15:49:57:720 GMT] 0000001d com.ibm.worklight.admin.services.RuntimeService W No running mxbeans found
[11/25/14 15:51:47:024 GMT] 00000032 SystemErr R Exception in thread "Thread-23"
[11/25/14 15:51:47:024 GMT] 00000032 SystemErr R java.lang.RuntimeException: Timeout while waiting for the management service to start up
[11/25/14 15:51:47:024 GMT] 00000032 SystemErr R at com.worklight.core.init.WorklightServletInitializer$1.run(WorklightServletInitializer.java:133)
[11/25/14 15:51:47:024 GMT] 00000032 SystemErr R at java.lang.Thread.run(Thread.java:745)
[11/25/14 15:51:47:227 GMT] 00000034 SystemErr R Exception in thread "Thread-25"
[11/25/14 15:51:47:227 GMT] 00000034 SystemErr R java.lang.RuntimeException: Timeout while waiting for the management service to start up
[11/25/14 15:51:47:227 GMT] 00000034 SystemErr R at com.worklight.core.init.WorklightServletInitializer$1.run(WorklightServletInitializer.java:133)
[11/25/14 15:51:47:227 GMT] 00000034 SystemErr R at java.lang.Thread.run(Thread.java:745)
Console.log:
[AUDIT ] CWWKZ0001I: Application customerproject started in 26.351 seconds.
[AUDIT ] CWWKZ0001I: Application advancedproject2 started in 26.881 seconds.
[AUDIT ] CWWKF0011I: The server customer is ready to run a smarter planet.
[err] 31 WorklightManagementPU-db2 INFO [Default Executor-thread-4] openjpa.Runtime - Starting OpenJPA 1.2.2
[err] 47 WorklightManagementPU-db2 INFO [Default Executor-thread-4] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.DB2Dictionary" (DB2/NT64 SQL10010 ,IBM Data Server Driver for JDBC and SQLJ 4.13.127).
[WARNING ] Impossible to decode the password
[ERROR ] Failed to obtain JMX connection to access an MBean.
There might be a JMX configuration error: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[WARNING ] No running mxbeans found
[err] Exception in thread "Thread-23"
[err] java.lang.RuntimeException: Timeout while waiting for the management service to start up
[err] at com.worklight.core.init.WorklightServletInitializer$1.run(WorklightServletInitializer.java:133)
[err] at java.lang.Thread.run(Thread.java:745)
[err] Exception in thread "Thread-25"
[err] java.lang.RuntimeException: Timeout while waiting for the management service to start up
[err] at com.worklight.core.init.WorklightServletInitializer$1.run(WorklightServletInitializer.java:133)
[err] at java.lang.Thread.run(Thread.java:745)
admin server setup for server 'customer':
<!-- Declare the Worklight Administration Service application. -->
<application id="customerwladmin" name="customerwladmin" location="worklightadmin.war" type="war">
<application-bnd>
<security-role name="worklightadmin">
<user name="demo"/>
</security-role>
<security-role name="worklightdeployer">
</security-role>
<security-role name="worklightmonitor">
</security-role>
<security-role name="worklightoperator">
</security-role>
</application-bnd>
<classloader delegation="parentLast">
<commonLibrary>
<fileset dir="${wlp.install.dir}/lib" includes="com.ibm.ws.crypto.passwordutil_1.0.4.jar"/>
</commonLibrary>
</classloader>
</application>
admin service setup for server 'worklight'
<!-- Declare the Worklight Administration Service application. -->
<application id="wladmin" name="wladmin" location="worklightadmin.war" type="war">
<application-bnd>
<security-role name="worklightadmin">
<user name="demo"/>
</security-role>
<security-role name="worklightdeployer">
</security-role>
<security-role name="worklightmonitor">
</security-role>
<security-role name="worklightoperator">
</security-role>
</application-bnd>
<classloader delegation="parentLast">
<commonLibrary>
<fileset dir="${wlp.install.dir}/lib" includes="com.ibm.ws.crypto.passwordutil_1.0.4.jar"/>
</commonLibrary>
</classloader>
</application>
There is the following exception :
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
meaning that there is a SSL configuration issue with the certificate.
Might be a duplicate of the following question: No MBean found for worklight project
There, the problem was incorrect setup in the server.xml; you can follow the instructions to verify you are not experiencing the same issue.
With the logs (requested in the comments section), it is hard to pin-point the issue, so here are more questions dealing with the same error:
No Runtime can be found in Worklight Console
No runtime on my Worklight 6.2 Console
No runtime on my Worklight 6.2 Console after installing analytics
You can also read the following support document: http://www-01.ibm.com/support/knowledgecenter/SSZH4A_6.2.0/com.ibm.worklight.installconfig.doc/install_config/t_verifying_wl_admin_install.html
I'am trying to install worklight server in the production server. I'am using :
Worklight V.6.0
WAS ND 8.5.5.2
DB2 10.1.0.2
I have managed to install AppCenter and accessed it. I've run the 'database' and 'install' ant task from 'configure-wasnd-server-db2.xml'.
But when I deployed app to the server and tried to access the Worklight console, I got this following error :
8/20/14 10:43:32:721 WIT] 00000099 LocalTranCoor E WLTC0017E: Resources rolled back due to setRollbackOnly() being called.
[8/20/14 10:43:32:722 WIT] 00000099 webapp E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[ServletNameNotFound]: java.lang.NullPointerException
at com.worklight.core.auth.impl.AuthenticationContext.getOrCreateAuthenticationContext(AuthenticationContext.java:99)
at com.worklight.core.auth.impl.AuthenticationFilter.doFilter(AuthenticationFilter.java:119)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:960)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1064)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3826)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:976)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:459)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:526)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:312)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:283)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1862)
Can anyone help me? Thanks in advance.
UPDATE:
I cannot find 'adminstall' and 'admdatabases' ant task from the 'configure-wasnd-server-db2.xml'. Do I need these files? Will it cause error if I don't run it? If yes, where can I find these files?
Per this support document, the following are possible reasons for this issue:
Incorrect deployment of project runtime (.war file), for example invalid datasource configuration
Suggestion:
Update to the latest available iFix of Worklight 6.0.0.x
Follow the runtime deployment instructions
I am trying to install Quercus 4.0.37 on Glassfish 4.0, while deploying it on glassfish from admin interface I am getting this error:
Exception while loading the app : CDI definition failure:WELD-000071 Managed bean class com.caucho.jms.MemoryQueue must be #Dependent.
I have came across this post on this same issue http://forum.caucho.com/showthread.php?t=30655
But I am not able to understand both the solutions that nam mentioned in this post:
1) How to disable weld
2) How to use standalone quercus WAR (I downloaded from http://quercus.caucho.com/ 4.0.37 version war)
In my glassfish installation folder I have these weld jar:
1. /glassfish/lib/appclient/weld-se-core.jar
2. /glassfish/modules/gf-weld-connector.jar
3. /glassfish/modules/weld-integration-fragment.jar
4. /glassfish/modules/weld-integration.jar
5. /glassfish/modules/weld-osgi-bundle.jar
Detailed stack trace is:
Exception while loading the app : CDI definition failure:WELD-000071 Managed bean class com.caucho.jms.MemoryQueue must be #Dependent
org.jboss.weld.exceptions.DefinitionException: WELD-000071 Managed bean class com.caucho.jms.MemoryQueue must be #Dependent
at org.jboss.weld.bean.ManagedBean.checkType(ManagedBean.java:205)
at org.jboss.weld.bean.AbstractBean.initializeAfterBeanDiscovery(AbstractBean.java:115)
at org.jboss.weld.bean.ManagedBean.initializeAfterBeanDiscovery(ManagedBean.java:122)
at org.jboss.weld.bootstrap.BeanDeployer.doAfterBeanDiscovery(BeanDeployer.java:354)
at org.jboss.weld.bootstrap.BeanDeployment.afterBeanDiscovery(BeanDeployment.java:280)
at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:522)
at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:213)
at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:131)
at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:328)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:493)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:527)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:523)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:356)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:522)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:546)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1423)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1500(CommandRunnerImpl.java:108)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1762)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1674)
at org.glassfish.admin.rest.utils.ResourceUtil.runCommand(ResourceUtil.java:235)
at org.glassfish.admin.rest.utils.ResourceUtil.runCommand(ResourceUtil.java:257)
at org.glassfish.admin.rest.resources.TemplateListOfResource.createResource(TemplateListOfResource.java:134)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:125)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:152)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:91)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:346)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:341)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:101)
at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:224)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:198)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:946)
at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:331)
at org.glassfish.admin.rest.adapter.RestAdapter$2.service(RestAdapter.java:318)
at org.glassfish.admin.rest.adapter.RestAdapter.service(RestAdapter.java:181)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:246)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.portunif.PUFilter.handleRead(PUFilter.java:231)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.portunif.PUFilter.handleRead(PUFilter.java:231)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
at java.lang.Thread.run(Thread.java:744)
]]
I encountered the same exception today. I deleted resin.jar from WEB-INF/lib directory of quercus and it deployed successfully.
I hope this helps.
First I dont know much about this application but I encountered this exception not the first time.
If you are able to edit the WEB-INF folder of the project you can try to add a glassfish-web.xml with the following inside:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<class-loader delegate="false"/>
</glassfish-web-app>
where <class-loader delegate="false"/> is the point. Thus the "webapplication-classloader" will not delegate the search of a classes to the "glassfish-classloader" until nothing is found. The problem seems to be some implementation of CDI inside of the application which is not applicable on Weld. With the classloader-delegate flag glassfish will use the lib inside the application if possible otherwise Weld which is provided by glassfish.