While I call a WL.Logger.send() in the client app instead of moving the log messages to server ,the server returns the challenge.
If I call the same for second time it gives no logs found ,cant move the logs using send error message is shown in device logs.
PS:Using worklight 6.0.2
Please find the security test in the xml file.I think this is missing in your xml settings.
<procedure name="log" securityTest="wl_unprotected" audit="true" />
Related
While trying to learn how to use the Imap connector in Mule studio, I came across this tutorial. I downloaded it and imported it into AnyPoint studio as a project, and as it were in that tutorial, it worked great (after sending the connector to the right host/port etc.) I then did a quick edit to change the flow to something like this:
IMAP response -> Email to String transormer -> Log this string in the console
And all was well and good. I then went in to the properties of the connector configuration, and changed it so that emails would not be deleted after they're read in, and everything broke. When trying to run the Mule project, I get a long list of errors, starting with:
java.io.IOException: Invalid keystore format
And later down the list:
org.mule.module.launcher.DeploymentInitException: IOException: Invalid keystore format
Which is relentlessly frustrating because really I didn't do anything to the connector's configuration aside from allowing it to keep emails in the inbox of the email that is being used in the IMAP connector. Even if doing something like that were to throw this kind of exception, after changing the configuration back to the way it was when the tutorial was working fine, I still get the same errors and the project fails to deploy.
I suspect that you edited the flow in visual mode instead of XML and that Studio has transformed this (which came from the download):
<imaps:connector checkFrequency="100" doc:name="IMAP" name="imapsConnector" validateConnections="true">
</imaps:connector>
into that:
<imaps:connector checkFrequency="100" doc:name="IMAP" name="imapsConnector" validateConnections="true">
<imaps:tls-client path="" storePassword="" />
<imaps:tls-trust-store path="" storePassword="password" />
</imaps:connector>
i.e. empty tls element(s) got injected thus messing your configuration up.
I'm receiving the following message on server log in IBM Mobile First 6.3 every time an Adapter is getting called:
Stacktrace
[ERROR ] Error sending bulk request: java.lang.RuntimeException:
failure in bulk execution: [2]: index [worklight], type [devices], id
[b2deefe7-0d15-4ed4-b199-7e42440fc372], message
[VersionConflictEngineException[[worklight][1]
[devices][b2deefe7-0d15-4ed4-b199-7e42440fc372]: version conflict,
current [58], provided [57]]] at
com.ibm.elasticsearch.servlet.DataReceiver.processData(DataReceiver.java:132)
at
com.ibm.elasticsearch.servlet.DataReceiver.processDataLegacy(DataReceiver.java:85)
at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source) ...
The adapter is executed correctly and the response is returned to the app.
Any idea why this error is happening?
Help will be appreciated.
Thanks.
This is an internal error in analytics. The error itself is actually harmless, however the analytics platform should be catching it... A defect will be logged for the message. In the meantime, if you're not using analytics, you can disable it by removing the WAR files from the Liberty server.
If you are using analytics, then I would recommend clearing out the analytics data folder and restarting the IMF platform (this would remove any data you have stored in analytics). This is assuming that you are running in development mode. The analytics data folder can be in the same directory as the server.xml file for your Liberty server.
I am attempting to use the Worklight server vitality query to validate that an application is installed on the Worklight server which is documented here http://www-01.ibm.com/support/knowledgecenter/SSZH4A_6.2.0/com.ibm.worklight.monitor.doc/admin/r_vitality_query.html
In a browser I am accessing this URL http://localhost:10080/WLHealth/ws/rest/vitality?app=somedummyapp
I believe the proper response from the server would contain an ALERT element that indicates that the application "somedummyapp" isn't installed in the server. (Which it isn't)
Instead I am getting the following response:
<ROOT>
<ALERT>
<DATE>2014-10-09T22:48:47.381-0400</DATE>
<EVENTID>0</EVENTID>
<SYSTEM>WRKL</SYSTEM>
<SUBJECT>SRV</SUBJECT>
<COMPUTER>192.168.1.6</COMPUTER>
<DESCRIPTION>Server is running</DESCRIPTION>
</ALERT>
<ALERT>
<DATE>2014-10-09T22:48:47.381-0400</DATE>
<EVENTID>0</EVENTID>
<SYSTEM>WRKL</SYSTEM>
<SUBJECT>APPL</SUBJECT>
<COMPUTER>192.168.1.6</COMPUTER>
<DESCRIPTION>Application 'somedummyapp' is deployed</DESCRIPTION>
</ALERT>
<ALERT>
<DATE>2014-10-09T22:48:47.381-0400</DATE>
<EVENTID>0</EVENTID>
<SYSTEM>WRKL</SYSTEM>
<SUBJECT>BUILD</SUBJECT>
<COMPUTER>192.168.1.6</COMPUTER>
<DESCRIPTION>6.2.0.00.20140915-1601</DESCRIPTION>
</ALERT>
</ROOT>
As my comment states above I believe you have encountered a defect in regards to the "Application 'somedummyapp' is deployed" description that the vitality check is outputting. I have opened a defect internally, but below I can show you what the expected result would be for an application that is not deployed:
If the application "somedummyapp" was not deployed to the server and you accessed the following URL:
http://localhost:10080/WLHealth/ws/rest/vitality?app=somedummyapp
An Alert would appear in the response with the following output:
-<ALERT>
<DATE>2014-10-14T14:02:43.601-0400</DATE>
<EVENTID>2</EVENTID>
<SYSTEM>WRKL</SYSTEM>
<SUBJECT>APPL</SUBJECT>
<COMPUTER>{IP_ADDRESS}</COMPUTER>
<DESCRIPTION>Application 'somedummyapp' is not deployed</DESCRIPTION>
</Alert>
As you can see the EVENTID would be set to "2" for a not deployed application. The DESCRIPTION would then be set to "Application 'somedummyapp' is not deployed".
I have an application running on Worklight 6.1 and I am seeing this messages on the log.
CWWKS3005E: A configuration exception has occurred. No UserRegistry implementation service is available
I don't need to authenticate the users on my application, can I ignore this message?
I'm not sure, but you can try to cancel logging for this specific package using following log configuration in server.xml:
<logging traceSpecification="XXX.XXX.*=off=disabled"/>
where XXX.XXX.* is the package where the error was occurred.
Here is a list of all available log levels: http://www-01.ibm.com/support/knowledgecenter/SSCKBL_8.5.5/com.ibm.websphere.nd.doc/ae/utrb_loglevel.html
I understand that you are not asked how to remove these messages from the log file, but you asked should you worry about these messages.
Anyway this log is not of Worklight server, it generated by Liberty server. It means you have something wrong in server configuration.
I found that this messages is because my server.xml configuration file of WebSphere Liberty Profile contains this feature
appSecurity-1.0
And I am not defining any User Registry.
http://pic.dhe.ibm.com/infocenter/rsahelp/v8r5/topic/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/rwlp_feat.html
I am not running the Application Center in this profile and I am securing the Worklight console using properties in the worklight.properties file.
So, the question is can I remove the appSecurity feature?
Add <basicRegistry></basicRegistry> to your server.xml.
after the fixpack in subject, i cannot manage to direct update my application.
It notify me that there is a new version available, but when i hit Update it keeps saying that the download failed (both on iOS and Android).
I attached my android to adb and i noticed those lines in the console:
Authentication error: Unable to respond to any of these challenges:
{wl-composite-challenge=WWW-Authenticate: WL-Composite-Challenge}
java.io.IOException: Error downloading update file The following
message has been received from the server instead of the expected
application update zip file: HTTP/1.1 401 Unauthorized
/-secure-{"challenges":{"wl_deviceNoProvisioningRealm":{"token":"1or0tj7gnoev1rn06s188j4u9h"},"wl_antiXSRFRealm":{"WL-Instance-Id":"np8c8o3c4dk1k7s79i2ikddfab"}}}/
at
com.worklight.androidgap.plugin.WebResourcesDownloaderPlugin$WebResourcesDownloader.downloadZipFile(WebResourcesDownloaderPlugin.java:364)
To complete the information I deployed the IBM_Worklight_Console with no security role in its web.xml and we have Worklight 6.1.0.1 installed on WAS Network Deployment 7.0.0.23 running AIX.
Before the fixpack, everything worked well.
Thank you
EDIT: here you can see my application-descriptor.xml and my server configuration:
I forgot about this stack, however I found the problem.
When I open my application, the WL Framework asks for new available update. In the same time, my application ask an adapter for some data, before the WL server can response about the Update. So if it arrives first the response of my adpater, then the Update response will contain a different requestID causing a 403 forbidden.
I don't know if I explained it clearly, however the temporary fix is to put updateSilently: true, not disturbing the direct update.