I’m trying to make a link from my application homepage to start my process:
/bonita/portal/resource/process/PracticePool/2.0/content/?id="+processDef[0].id
Where PracticePool version 2.0 is my pool. Also, my current process definition looks like:
../API/bpm/process?p=0&c=1&f=name=PracticePool
However, whenever I try to use the link in my portal application homepage, I get an “HTTP Status 400 - Bad Request” error - specifically:
Type: Exception Report
Message: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
Description: The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
Exception:
java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:483)
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:684)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:808)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.base/java.lang.Thread.run(Unknown Source)
Note: The full stack trace of the root cause is available in the server logs.
What exactly is causing this error?
Did you solve it? pls, i have the same mistake
The 400 (Bad Request) status code indicates that the server cannot or will not process the request because the received syntax is invalid, nonsensical, or exceeds some limitation on what the server is willing to process. It means that the request itself has somehow incorrect or corrupted and the server couldn't understand it. The server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method . Therefore, it prevents the website from being properly displayed. The main thing to understand is that the 400 Bad Request error is a client-side error. The cause of a 400 error can be a wrongly written URL or a URL that contains unrecognizable characters. Another cause of the error might be an invalid or expired cookie. Also, if you try to upload a file that's too large. If the server is programmed with a file size limit, then you might encounter a 400 error.
Your ‘processDef[0].id’ is correct ? It’s not ‘null’ or ‘undefined’ ?
You can do that with your browser debug.
Or just add a text field like that : My processDef id = {{processDef[0].id}}
Thank you… It does appear to be null.
How can I correct this?? Is it just because my processDef doesn’t have a version number, or is it failing to connect to my process for another reason?
How do you get the var ‘processDef’ ?
I followed the Bonita 7.2 tutorial and just substituted my pool name PracticePool instead of Travel%20request.
Can you explain me what you do.
Do you use an API request, a javascript expression, or something else?
Oh, sure. For the processDef I made a variable, type API, appearing as:
../API/bpm/process?p=0&c=1&f=name=PracticePool
to reference the business process model, process resources, page zero, returning one result, filtered for the name PracticePool.
Ok,
Have you allready try this url:
http://myServer:myPort/bonita/API/bpm/process?p=0&c=1&f=name=PracticePool
Replace myServer and myPort by your current bonita server url.
If it’s working, you will see the process def. Otherwise your process is not found.
If the procces is found, you can use ‘processDef[0]’ (normaly).
I tried that (I’m fairly sure I got the server and port right), and the page could not be reached. So it looks like the process can’t be found.
Have you try to connect to bonita directly by your server ?
If that means running the process through the server tab in Bonita Studio, that works fine; otherwise, could you tell me how to connect to Bonita directly by my server?
Ahh, your project only run with Bonita studio? It’s not deploy in the Bonita bundle.
Maybe, in Bonita studio, that’s work diferently.
Try to deploy your project in a Bonita bundle.
I’m not sure that I have that bundle installed at all… Should I download it, do an export of my current workflow/files, and do a redployment?
Or can I access that with the Community Edition Bonita Studio I already have? Sorry, I’m a bit lost.