If the URL in the web request sent by HTTPClient/RESTClient exceeds 8 KB, the execution fails.
PowerBuilder 2021 Build 1506 and later
Though PowerBuilder supports 64 KB URL in a web request, Web Server has its own limit on the URL length.
You can refer to the following solutions to change the length limit for different types of Web Servers.
- IIS Server
Modify the following information in the web.config file (locates in the service directory by default). The limit on URI is 2 KB by default.
Add the following settings under the system.webServer/security/ section in the web.config file:
<system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="930000000" maxUrl="4096000" maxQueryString="2048000" /> </requestFiltering> <security> <system.webServer>
Add the following settings under the system.web/httpRuntime section:
<configuration> <system.web> <httpRuntime maxRequestLength="4096000" maxQueryStringLength="2048000" /> </system.web> </configuration>
- Kestrel Server
Add the following code in configwebhost. The limit on URI is 8 KB by default.
webBuilder.ConfigureKestrel(m => m.Limits.MaxRequestLineSize = 80000);
- Apache Server
Modify the httpd.conf file (locates in % Apache Server %\conf\httpd.conf by default) corresponding to the service. Add the following settings (this file doesn’t have these configurations but the limit on URI is 8190 by default):
LimitRequestLine 80000 LimitRequestFieldSize 80000
- Nginx Server
Modify the nginx.conf file (locates in %Nginx Server%\conf\ by default) corresponding to the service. Add the following setting (this file doesn’t have this configuration but the limit on URI is 8 KB by default):
large_client_header_buffers 16 64k