Share all details about your problem, including any error messages you may have received.
Hello,
we are getting below error while doing test connection for application.
Exception occurred in Test Connection.Url: https://test.api/user/v1/apps?filter_inactive=True, Message: 400 : Bad Request : {“message”: “The browser (or proxy) sent a request that this server could not understand.”} , HTTP Error Code: 400
API does not required any parameters in headers or body
Below things I have tried so far,
I have printed the request endpoint at the end of the before operation rule. I took the details from the logger and tried in postman and test rule.
-we are getting successful response when we call same API from postman .
-written a test rule to call the same API. here also we are getting response.
but this issue is happening from the application configuration configuration
anyone have any idea on this error?
Any insights or suggestions on how to further debug this scenario would be appreciated
Looks like the 400 isn’t really about the API itself but about how IIQ is sending the request compared to Postman. A few things to check:
HTTP method – Test Connection sometimes uses HEAD instead of GET. If your API doesn’t like HEAD, it will throw 400. Try forcing it to use GET.
Headers – Postman usually sends Accept: application/json. IIQ might be adding Content-Type: application/json on a GET (which some servers reject). Remove Content-Type for GET requests and only keep Accept.
Proxy / gateway – the message The browser (or proxy) sent a request... suggests there’s a proxy in between. Maybe Postman bypasses it but IIQ is routed through it. Check the connector proxy settings or your JVM system properties.
URL encoding / params – Make sure the query string is exactly the same. For example, some APIs only accept true not True. Also check you don’t have trailing spaces or double slashes in the base URL.
Chunked / Expect headers – IIQ’s HttpClient sometimes adds Expect: 100-continue or chunked transfer, which some APIs don’t like. You can try disabling those in the connector advanced settings.
If you want to be sure, enable org.apache.http.wire logging in IIQ so you can see the exact raw request that’s being sent. Compare it with the Postman request – usually the difference pops out pretty quickly.