Error updating case variable REST API

Hi,

I’m getting an error when I try to update a case variable using REST API.
It works 50% of the time.

I get the following error:

SEVERE [ToolkitHttpServlet] java.lang.IllegalArgumentException at java.nio.Buffer.position(Buffer.java:236) at org.apache.tomcat.util.buf.B2CConverter.convert(B2CConverter.java:84) at org.apache.catalina.connector.InputBuffer.realReadChars(InputBuffer.java:403) at org.apache.tomcat.util.buf.CharChunk.substract(CharChunk.java:416) at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:432) at org.apache.catalina.connector.CoyoteReader.read(CoyoteReader.java:105) at org.apache.catalina.connector.CoyoteReader.readLine(CoyoteReader.java:158) at org.bonitasoft.web.toolkit.server.ServletCall.getInputStream(ServletCall.java:139) at org.bonitasoft.web.rest.server.framework.APIServletCall.doPut(APIServletCall.java:191) at org.bonitasoft.web.toolkit.server.servlet.ToolkitHttpServlet.doPut(ToolkitHttpServlet.java:189) at javax.servlet.http.HttpServlet.service(HttpServlet.java:640) at org.bonitasoft.web.toolkit.server.servlet.ToolkitHttpServlet.service(ToolkitHttpServlet.java:71) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.bonitasoft.web.toolkit.server.servlet.ToolkitHttpServlet.service(ToolkitHttpServlet.java:222) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.bonitasoft.console.common.server.login.filter.FilterManager.pageRedirect(FilterManager.java:88) at org.bonitasoft.console.common.server.login.filter.FilterManager.doFilter(FilterManager.java:68) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) at org.bonitasoft.console.security.SessionFixationValve.invoke(SessionFixationValve.java:77) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:722)

I’m updating by PUTing to:

bonita/API/bpm/caseVariable//

with payload like:

{‘type’: ‘java.lang.String’, ‘id’: ‘34002/state’, ‘value’: u’0’, ‘name’: ‘state’}

http://documentation.bonitasoft.com/web-rest-api-examples#set_variables

What is happening? Why does it work 50% of the time? Why is Bonita so unstabble.
BTW, I’m using JBoss bundle