"HTTP Status 400" error on app start link

1
0
-1

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?

Comments

Submitted by bastien.laurent... on Thu, 07/11/2019 - 10:19

Your 'processDef[0].id' is correct ? It's not 'null' or 'undefined' ?

Submitted by hietkampa on Thu, 07/11/2019 - 18:18

How do I verify that?

Submitted by bastien.laurent... on Fri, 07/12/2019 - 15:49

You can do that with your browser debug.
Or just add a text field like that : My processDef id = {{processDef[0].id}}

Submitted by hietkampa on Sat, 07/13/2019 - 01:18

Thank you... It does appear to be null.

Submitted by hietkampa on Tue, 07/16/2019 - 18:36

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?

Submitted by bastien.laurent... on Wed, 07/17/2019 - 14:30

How do you get the var 'processDef' ?

Submitted by hietkampa on Wed, 07/17/2019 - 17:52

I followed the Bonita 7.2 tutorial and just substituted my pool name PracticePool instead of Travel%20request.

Submitted by bastien.laurent... on Thu, 07/18/2019 - 10:13

Can you explain me what you do.
Do you use an API request, a javascript expression, or something else?

Submitted by hietkampa on Thu, 07/18/2019 - 17:40

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.

Submitted by bastien.laurent... on Fri, 07/19/2019 - 09:28

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).

Submitted by hietkampa on Mon, 07/22/2019 - 18:52

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.

Submitted by bastien.laurent... on Wed, 07/24/2019 - 14:01

Have you try to connect to bonita directly by your server ?

Submitted by hietkampa on Fri, 07/26/2019 - 18:54

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?

Submitted by bastien.laurent... on Mon, 07/29/2019 - 09:10

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.

Submitted by hietkampa on Mon, 08/26/2019 - 19:22

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?

Submitted by hietkampa on Tue, 09/24/2019 - 17:48

Or can I access that with the Community Edition Bonita Studio I already have? Sorry, I'm a bit lost.

2 answers

1
0
-1

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.

1
0
-1

Did you solve it? pls, i have the same mistake

Notifications