Zero timeout on WL.Server.readSingleJMSMessage leads to class cast exception - ibm-mobilefirst

According to documentation infinite wait for message read from JMS queue is achieved specifying "timeout: 0". Using non-zero values call to WL.Server.readSingleJMSMessage works ok, for zero timeout function returns immediately and I can find log entry:
com.worklight.integration.model.InvocationContext E FWLSE0099E: An error occurred while invoking procedure jms_topic/JMSConsumerFWLSE0100E: parameters:{ "arr": [ { "destination": "myqueue", "singleMessage": true, "timeout": 0.0 }]} java.lang.Double cannot be cast to java.lang.Integer FWLSE0101E: Caused by: null
For positive value like "timeout: 1000" logged params are correct, also "timeout: 1000". For "timeout: 0" logged value is floating point as "timeout: 0.0" unexpected on Java side.
I see not way to force integral zero as literal, I tried "timeout: 0x0" or "timeout: parseInt(0)" but the problem seems to be in JS-Java translation. It is a pity such basic boundary condition is not tested before release.

This appears to be an unfortunate bug with no currently known workaround. A defect will be opened to fix the issue. We will continue to look for a possible workaround for current versions.

Related

OpenNMS events varbinds decode always showing the raw value between (parentheses)

Is there a way to hide the raw value from a varbind that was decoded?
What I'm getting is:
deviceNotification trap received deviceRuleCode=browserOffline(7) notifObjType=trigger(1) notifObjSeverity=critical(6)
What i want is:
deviceNotification trap received deviceRuleCode=browserOffline notifObjType=trigger notifObjSeverity=critical
Obviously I'm passing the decoded varbinds parm[#] to the log message and/or description.
Any clue? Is it even supported?
After check the code, I've concluded that this is not supported.
The proof is here:
https://github.com/OpenNMS/opennms/blob/develop/features/events/daemon/src/main/java/org/opennms/netmgt/eventd/processor/expandable/ExpandableParameter.java#L75-L77
The token having the decoded value is always appended with the original value:
(...)
ret.append(decode.get(token).get(value));
ret.append("(");
ret.append(value);
ret.append(")");
(...)
.. and this happens for all the expanded values.

WSO2 API Manager returning RunTime Error

I have an API in WSO2. When I try to test it in the store with valid parameters via GET, it returns the following error message:
<am:fault xmlns:am="http://wso2.org/apimanager">
<am:code>101504</am:code>
<am:type>Status report</am:type>
<am:message>Runtime Error</am:message>
<am:description>Send timeout</am:description>
</am:fault>
I have already searched and tried a lot, but with no success, always returning the same error. Don't know if helps, but the api that I try to access is a PHP file.
Any ideas?
EDIT:
I have identical apis to this one, changing only the response, that are working properly. Even if I erase the php file that the API is pointing, the error keep coming.
EDIT:
I changed the code in Management Console, in Metadata>List>APIs:
{"production_endpoints":
{"url":"http://site/myapi.php","config":
{"format":"leave-as-is","optimize":"leave-as-
is","actionSelect":"fault","actionDuration":30000}},
"sandbox_endpoints":
{"url":"http://site/myapi.php","config":
{"format":"leave-as-is","optimize":"leave-as-
is","actionSelect":"fault","actionDuration":30000}},
"implementation_status":"managed","endpoint_type":"http"}
to this:
{"production_endpoints":
{"url":"http://10.20.40.189/ConsultaAutorizacaoCadPos.php","config":null},
"sandbox_endpoints":{"url":"http://10.20.40.189/ConsultaAutorizacaoCadPos.php","config":null},
"implementation_status":"managed","endpoint_type":"http"}
And this error message vanishes. But this new one appears:
<am:fault xmlns:am="http://wso2.org/apimanager">
<am:code>303001</am:code>
<am:type>Status report</am:type>
<am:message>Runtime Error</am:message>
<am:description>Currently , Address endpoint : [ Name : admin--myapi_APIproductionEndpoint_0 ] [ State : SUSPENDED ]</am:description>
EDIT: this error message is appearing just sometimes. Most of the time the request takes long time to run and then returns nothing( no content )
Any ideas how to solve it?

Grid is in invalid state to perform this operation

How can I solve this problem when using ignite ?
java.lang.IllegalStateException: Grid is in invalid state to perform this operation. It either not started yet or has already being or have stopped [gridName=grid.cfg, state=STOPPED]
at org.apache.ignite.internal.GridKernalGatewayImpl.illegalState(GridKernalGatewayImpl.java:190)
at org.apache.ignite.internal.GridKernalGatewayImpl.readLock(GridKernalGatewayImpl.java:90)
at org.apache.ignite.internal.cluster.ClusterGroupAdapter.guard(ClusterGroupAdapter.java:170)
at org.apache.ignite.internal.cluster.ClusterGroupAdapter.forPredicate(ClusterGroupAdapter.java:367)
at org.apache.ignite.internal.cluster.ClusterGroupAdapter.forServers(ClusterGroupAdapter.java:392)
at org.apache.ignite.internal.IgniteKernal.services(IgniteKernal.java:363)
at org.apache.ignite.IgniteSpringBean.services(IgniteSpringBean.java:156)
This exception means that you're trying to use Ignite after it was already stopped. You should check the logs for any exceptions and also your code - there can be a mistake or some race condition.

Parse.com preventing whitespaces in custom tracking events?

2 months ago I added custom tracking events with whitespaces in my app, such as:
[PFAnalytics trackEvent:#"Share Button Click" dimensions:dimensions];
However, it seems like Parse is no longer allowing whitespaces, which in turn has caused my code to stop registering analytics. Does anyone know a fix around this?
Here's the error:
Error: invalid event name: cannot contain whitespace (Code: 160, Version: 1.4.2)
2014-11-01 runEventually command failed. Error:Error Domain=Parse Code=160 "The operation couldn’t be completed. (Parse error 160.)" {code=160, error=invalid event name: cannot contain whitespace}
I'm curious as to why Parse has done this change and if there's anything we can do so that I'm not forced to create a new event.

How to make Xlib print error message, but not exit?

"The action of the default handlers is to print an explanatory message and exit." (link)
Example of such message:
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 12 (X_ConfigureWindow)
Resource id in failed request: 0xc0007a
Serial number of failed request: 140
Current serial number in output stream: 141
If I set (XSetErrorHandler) my own "ignore everything" error handler, the "explanatory messages" disappear.
How to make Xlib ignore errors, but still print error messages?
If you actually want those error messages you pretty much have two options:
Pull _XPrintDefaultError out of XlibInt.c along with some private headers (with all the caveats of using library-private definitions).
Redefine exit() not to actually exit when _XDefautError calls it.
Neither is especially pretty and both may break and reduce your portability, but they do work.
You have to format your own message. The contents of the message is the contents of the XErrorEvent struct:
http://tronche.com/gui/x/xlib/event-handling/protocol-errors/default-handlers.html