IBM Worklight 6.0 - Development Server/Console Problems - ibm-mobilefirst

Previewing a hybrid app in Worklight Console's MBS in Worklight v5.0.6 was a breeze as it worked right out the box.
Worklight 6.0 has proven to be a bit more tricky. Can someone point me in the right direction to getting my Worklight Console up and running?
Here is my Eclipse console log:
CWWKE0005E: The runtime environment could not be launched.
CWWKE0029E: An instance of server worklight is already running.
I have not altered any port information.
Eclipse.ini:
-startup
../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20120913-144807
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
Update:
Completed the steps in Idan's response; the result in the Worklight Development Server console view in Eclipse:
[err] 28 WorklightPU WARN [Scheduled Executor-thread-1]
openjpa.Runtime - An error occurred while registering a
ClassTransformer with PersistenceUnitInfo: name 'WorklightPU', root
URL
[file:/Users/mwoods/Desktop/TestWorkspace/WorklightServerConfig/shared/resources/worklight-jee-library-6.0.0.jar].
The error has been consumed. To see it, set your openjpa.Runtime log
level to TRACE. Load-time class transformation will not be available.
[err] 460 WorklightPU INFO [Scheduled Executor-thread-1]
openjpa.Runtime - Starting OpenJPA 1.2.2
[err] 524 WorklightPU INFO [Scheduled Executor-thread-1] openjpa.jdbc.JDBC - Using dictionary class
"org.apache.openjpa.jdbc.sql.HSQLDictionary".
[err] 1 WorklightReportsPU WARN [Scheduled Executor-thread-1] openjpa.Runtime - An error occurred while registering a
ClassTransformer with PersistenceUnitInfo: name 'WorklightReportsPU',
root URL
[file:/Users/mwoods/Desktop/TestWorkspace/WorklightServerConfig/shared/resources/worklight-jee-library-6.0.0.jar].
The error has been consumed. To see it, set your openjpa.Runtime log
level to TRACE. Load-time class transformation will not be available.
And:
Launching worklight (WebSphere Application Server
8.5.5.0/wlp-1.0.3.20130524-0951) on Java HotSpot(TM) 64-Bit Server VM, version 1.6.0_45-b06-451-11M4406 (en_US) [AUDIT ] CWWKE0001I: The
server worklight has been launched. [ERROR ] CWWKO0221E: TCP Channel
defaultHttpEndpoint initialization did not succeed. The socket bind
did not succeed for host * and port 10080. The port might already be
in use.
SOLUTION:
Changed port number and restarted my computer.

I'd be more interested in a step-by-step of what you've done. Please edit your question with the steps.
Lets also try this very basic scenario:
Have a brand new Eclipse Jave EE 4.2.2 ("Juno" SR2), new workspace, with Worklight Studio 6.0 installed
Go to the Servers view, start the Worklight Development Server
Create a new Worklight project
Right-click the project, choose Open Worklight Console
Does the above work?
Based on the update to the question:
The three errors regarding WorklightPU will always be displayed and are not related to your problem; we will try to remove these permanently in the future.
As for your problem: find out which process occupies port 10080, re-start Eclipse and start the Worklight Development Server again.
Alternatively, you can change the new default port number:
Navigate to the Severs view
Expend the Worklight Development Server entry
Double-click on Server Configuration
Choose HTTP Endpoint
On the right side of the window, change the port value
Restart the server
Alternatively #2, restart the machine? :)

Related

javax.management.ReflectionException: The MBean class could not be loaded by the default loader repository

We are migrating JBOSS from 4.0.3SP1 to Wildfly 10.1.0. Our applications are bundled in separate sars which contain standard as well as Dynamic beans.
We are getting "javax.management.ReflectionException: The MBean class could not be loaded by the default loader repository" exception caused by "java.lang.ClassNotFoundException: com.xxx.ccr.common.adapter.PEAdapterLCM". Stack Trace is added in the end. PEAdapter class is a Dynamic MBean and is present in one of the jars in the common modules under /opt/coreservices/wildfly-10.1.0.Final/modules.
We are using standalone-full.xml to start our Wildfly instance (ccr2)
[root#puiqr710dev08 CCR]# ps -eaf|grep ccr2
xxxiq 28948 7529 21 15:17 ? 00:07:10 /opt/Xxx/CCR/jre/bin/java -verbose:class -Ddss.port=31002 -DCONTAINER_UUID=14132c5860baba870160bac5d84e084a -Dlcm.host= xxx.xxxx.xxx.xxx -server -XX:NewRatio=1 -XX:+UseG1GC -XX:+UseLargePages -XX:MaxGCPauseMillis=1000 -XX:GCTimeRatio=10 -XX:+DisableExplicitGC -Dsun.nio.ch.disableSystemWideOverlappingFileLockCheck=true -Ddss.thread_pool_size=24 -Xss250k -Xms256m -Xmx4096m -DUSE_DELAY1=60000 -DUSE_DELAY2=60000 -Dlog4j.configuration=file:/opt/Xxx/CCR/appserver/jboss-boot.log4j.properties -DLOG_FILE_PREFIX=DataProcessingJBoss_puiqdevdads07 -Ddss.message_lifetime=180 -Djava.awt.headless=true -Dorg.jboss.logging.Log4jService.catchSystemErr=false -classpath /opt/Xxx/CCR/jre/lib/tools.jar -jar /opt/coreservices/wildfly-10.1.0.Final/jboss-modules.jar -mp /opt/coreservices/wildfly-10.1.0.Final/modules -jaxpmodule javax.xml.jaxp-provider org.jboss.as.standalone -Djboss.home.dir=/opt/coreservices/wildfly-10.1.0.Final -Djboss.server.base.dir=/opt/coreservices/wildfly-10.1.0.Final/ccr2 -Djboss.bind.address=xxx.xxxx.xxx.xxx -Djboss.bind.address.management= xxx.xxxx.xxx.xxx -c standalone-full.xml
· We have four sars that are deployed in this instance. All sars are deployed successfully.
· We have packaged our sars as follows:
--lib (contains all jars)
--META-INF
|--jboss-deployment-structure.xml
|--jboss-service.xml
· Each sar contains some standard MBeans and few Dynamic MBeans.
· We have defined standard MBeans in jboss-services.xml. They are created properly and can be seen in JConsole.
· We can NOT include definition of Dynamic MBeans in jboss-service.xml as their name is constructed at runtime.
· PEAdapterLCM for which we are getting ClassNotFoundException is a dynamic bean and we are getting this error for all Dynamic MBeans.
· We have created modules for all common jars that were part of “server/lib” folder in JBOSS 4.0.3SP1.
We tried following to fix this error but no luck:
1) packaged contents of all sars in one single sar and deployed it.
2) Added a global module entry in standalone-full.xml which contents dynamic MBeans.
3) Added definition of dynamic MBean in jboss-service.xml (just to see if this makes any difference). With this change, we were able to see the MBean in JConsole. But still got the same error.
So what should be done to fix this error. Are there any changes - how to implement and deploy Dynamic MBeans in Wildfly?
Is there any way in Wildfly we can explicitly mention the MBean server class while starting the Wildfly as it was done in JBOSS 4.0.3SP1 using "-Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl -Djboss.platform.mbeanserver -Dcom.sun.management.jmxremote"
Here is complete stack trace:
^[[0m^[[31m15:01:30,324 ERROR [com.xxx.coreservice.lifecycle.jmx.PEController] (MSC service thread 1-6) Exception in PEController:PEControllerJmxJBossService start for peID 14132c58609742440160974fe69307e0: : javax.management.ReflectionException: The MBean class could not be loaded by the default loader repository
at com.sun.jmx.mbeanserver.MBeanInstantiator.findClassWithDefaultLoaderRepository(MBeanInstantiator.java:104)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.createMBean(DefaultMBeanServerInterceptor.java:268)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.createMBean(DefaultMBeanServerInterceptor.java:206)
at com.sun.jmx.mbeanserver.JmxMBeanServer.createMBean(JmxMBeanServer.java:326)
at com.avaya.lifecycle.jmx.agent.PEControllerJmx._start(PEControllerJmx.java:55)
at com.xxx.coreservice.lifecycle.jmx.PEController.start(PEController.java:397)
at com.xxx.coreservice.lifecycle.jmx.PEController.startAll(PEController.java:314)
at com.xxx.coreservice.lifecycle.jmx.PEController.startup(PEController.java:238)
at com.xxx.coreservice.lifecycle.jmx.PEController.postRegister(PEController.java:700)
at com.sun.jmx.mbeanserver.MBeanSupport.postRegister(MBeanSupport.java:182)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.postRegister(DefaultMBeanServerInterceptor.java:1024)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:974)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
at org.jboss.as.jmx.PluggableMBeanServerImpl$TcclMBeanServer.registerMBean(PluggableMBeanServerImpl.java:1527)
at org.jboss.as.jmx.PluggableMBeanServerImpl.registerMBean(PluggableMBeanServerImpl.java:871)
at org.jboss.as.jmx.MBeanRegistrationService.start(MBeanRegistrationService.java:101)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: com.xxx.ccr.common.adapter.PEAdapterLCM
at com.sun.jmx.mbeanserver.ClassLoaderRepositorySupport.loadClass(ClassLoaderRepositorySupport.java:232)
Thanks for help in advance.

Polymer web-component-tester / selenium is stalling

We are trying to run the web-component-tester however it keeps stalling on the Selenium step.
When I run wct -l chrome --verbose
I get the following
hook: prepare
hook: prepare:selenium
hook done: prepare:selenium
Starting Selenium server for local browsers
11:47:46.357 INFO - Launching a standalone server
Setting system property webdriver.chrome.driver to C:\Users\<user>\AppData\Roaming\npm\node_modules\web-component-tester\node_modules\wct-local\node_modules\selenium-standalone\.selenium\chromedriver\2.13-x64-chromedriver
Setting system property webdriver.ie.driver to C:\Users\<user>\AppData\Roaming\npm\node_modules\web-component-tester\node_modules\wct-local\node_modules\selenium-standalone\.selenium\iedriver\2.44.0-x64-IEDriverServer.exe
11:47:46.809 INFO - Java: Oracle Corporation 25.31-b07
11:47:46.809 INFO - OS: Windows 7 6.1 x86
11:47:46.872 INFO - v2.44.0, with Core v2.44.0. Built from revision 76d78cf
11:47:47.669 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:11655/wd/hub
11:47:47.669 INFO - Version Jetty/5.1.x
11:47:47.685 INFO - Started HttpContext[/selenium-server,/selenium-server]
11:47:47.919 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler#3c1e69
11:47:47.919 INFO - Started HttpContext[/wd,/wd]
11:47:47.919 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
11:47:47.919 INFO - Started HttpContext[/,/]
11:47:47.935 INFO - Started SocketListener on 0.0.0.0:11655
11:47:47.935 INFO - Started org.openqa.jetty.jetty.Server#11bc7ed
Then after a few minutes of stalling it follows up with
hook done: prepare with error: [Error: Unable to connect to selenium]
Error: Unable to connect to selenium
Running these same tests from the browser works without a problem.
While it has hanged, we can still connect via browser to http://127.0.0.1:11655/wd/hub
I've tried Googling but not a lot of luck.
What are the things that could go wrong or how can I debug this further?
One of the node modules doesn't use the Internet Explorer proxy values.
In your environment variables, create a new one
Name : no_proxy
Value : localhost, 127.0.0.1
Don't forget to restart your shell session after applying
I had the same issue and was due to the proxy setting of my org. When i went out of my org's network and connected through internet, i was able to run the tests through selenium. I have not yet able to find a way through the proxy settings as of now. I was running on mac. You might need to try through normal internet setup and check.

Changing the path for Worklight LogDirectory

I want to change the log directory to my custom path. So i have edited the server.xml like below.
<logging consoleLogLevel="OFF" copySystemStreams="false" maxFileSize="5" maxFiles="5" messageFileName="messages.log" logDirectory="/var/log" />
But once i changed and restarted the server it is not starting and throwing the below error
Launching LibertyServer (WebSphere Application Server 8.5.5.0/wlp-1.0.3.20130510-0831) on Java HotSpot(TM) 64-Bit Server VM, version 1.6.0_45-b06 (en_US)
[AUDIT ] CWWKE0001I: The server LibertyServer has been launched.
*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at ../../../src/share/instrument/JPLISAgent.c line: 806
Worklight version 6.0.0.2 Liberty profile version 8.5.5.0-20130510-0831
if you need any info please comment.
Found the issue. it is the problem with the permission.
Please follow the below steps to avoid the errors.
Modify server.xml logging property like in the question.
Modifying value of ‘com.ibm.ws.logging.log.directory’ property in bootstrap.properties file to "/var/log"
Giving write permission to wladmin in folder ‘/var/log’ using the following command.
chmod -R 777 /var/log with superuser (superuser is root)

Worklight server - Error 500: Could not find required filter class - com.worklight.core.auth.impl.AuthenticationFilter.class

I'm using worklight 6.1 for my mobile app project. My problem is, I got this error message when I try to upload war file into worklight server. I already install worklight server into my websphere.
Error 500: javax.servlet.ServletException: Filter [authenticationFilter]: Could not find required filter class - com.worklight.core.auth.impl.AuthenticationFilter.class
These are steps for uploading war file into worklight server.
1.Build project_name.war file from IBM Worklight Studio v6.1.
2.Deploy the .war file to IBM Websphere Integrated Solutions Console v8.5.5.0.
3.Open the WebSphere enterprise application and click install.
4.Choose the project.war file from the worklight project directory.
5.Click on next button for fast path.
6.Click on next button.
7.Choose the server 1.
8.Choose on the target JNDI.
9.Set the Virtual Host to default_host.
10.Set the context root.
11.Click on finish button.
12.Save directly to master configuration.
13.Start the application.
14.Open the server URL to get into the wroklight server to deploy application, adapter and etc, but failed to open the server URL with this error and the error log as below.
[3/6/14 10:18:50:442 MYT] 0000009e webapp E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor]: java.lang.ClassNotFoundException: class java.lang.ClassNotFoundException: com.worklight.core.auth.impl.AuthenticationFilter
at java.beans.Beans.instantiate(Beans.java:195)
at java.beans.Beans.instantiate(Beans.java:80)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager._loadFilter(WebAppFilterManager.java:533)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.loadFilter(WebAppFilterManager.java:475)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterInstanceWrapper(WebAppFilterManager.java:308)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterChain(WebAppFilterManager.java:380)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:892)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1025)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3761)
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)
My latest error message on 10 March 2014
Error 500: javax.servlet.ServletException: Worklight Console initialization failed.Logged Exception: java.lang.RuntimeException: FWLSE0206E: The project /rmbp failed to initialize, because the project database schema for data source jdbc:db2://192.168.1.80:50001/APPCNTR is from version N/A, which is not supported by the server from version 6.1.0.00.20131126-0630. Use the Worklight ant tasks to upgrade the project database schema.
You may want to look at this similar post for suggestions:
IBM Worklight 6.0 - Worklight Console does not show up after installing WL 6.0 server on Liberty profile - Error 500
Importantly "you need to make sure that your worklight-jee-library.jar is in the application classloader." Like Idan suggested above you can easily use the ant scripts we provide in order to accomplish this in a more automated fashion:
https://pic.dhe.ibm.com/infocenter/wrklight/v6r1m0/index.jsp?topic=%2Fcom.ibm.worklight.deploy.doc%2Fdevref%2Ft_transporting_apps_and_adapters.html

IBM Worklight 6.0 - app deployment fails with the error "unable to process the request"

I have built a basic application. I have also updated connectOnStartup to true, added WL.Client.connect() in wlCommonInit() and updated worklight.properties:
publicWorkLightHostname=92.1.52.17
publicWorkLightProtocol=http
publicWorkLightPort=9080
The build was successful except for these errors in the development console:
[err] 0 WorklightPU WARN [Scheduled Executor-thread-1] openjpa.Runtime - An error occurred while registering a ClassTransformer with PersistenceUnitInfo: name 'WorklightPU', root URL [file:/C:
/Documents%20and%20Settings/wl/Bureau/workspaces/WorklightServerConfig/shared/resources/worklight-jee-library-6.0.0.jar]. The error has been consumed. To see it, set your openjpa.Runtime log level to TRACE. Load-time class transformation will not be available.
[err] 94 WorklightPU INFO [Scheduled Executor-thread-1] openjpa.Runtime - Starting OpenJPA 1.2.2
[err] 94 WorklightPU INFO [Scheduled Executor-thread-1] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.HSQLDictionary".
[err] 0 WorklightReportsPU WARN [Scheduled Executor-thread-1] openjpa.Runtime - An error occurred while registering a ClassTransformer with PersistenceUnitInfo: name 'WorklightReportsPU', root URL [file:/C:/Documents%20and%20Settings/wl/Bureau/workspaces/WorklightServerConfig/shared/resources/worklight-jee-library-6.0.0.jar]. The error has been consumed. To see it, set your openjpa.Runtime log level to TRACE. Load-time class transformation will not be available.
I have deployed the app manually to the liberty profile, and added the .wlapp to the console.
When starting the app in common from the console I get an error stating that the server was "unable to process the request".
The javascript console show:
Failed to load resource: the server responded with a status of 404
(Not Found)
Let us take a step back.
Worklight 6.0 is already running on Liberty, so what do you mean by "deployed the app manually to the liberty profile"?
Are you in fact trying to transfer your app to another application server? Please edit the question WITH ALL INFORMATION and steps and IBM Information Center topics you have followed for doing so.
Why do you change the port in worklight.properties? If you change the port of the project you should also change the port of the application server you intend to deploy it on. Make sure the ports match(!).
Also note that if you already set connectOnStartup to true, then there is absolutely no need for you to also add WL.Client.connect...
As for the error messages you have pointed out - these are harmless, and have been removed in 6.0.0.1 I believe. Make sure you are running the latest version of Worklight. If they are still there for you, then they are just removed internally and will be gone in a future release.
thanks for your answer. I restart a new liberty profile server and use ant to deploy the war file.
In the studio i have used right clic on app and
build all
instead of
build for remote server
that was my mistake and it works fine now.
I have compare the .wlapp but i'm not sure if they are different.
thanks