4.2 JSMProxy

JSMProxy is an HTTP reverse proxy extension to JSMDirect.

The JSMProxy cgi-bin program resides on a front-end HTTP Web server and transfers data between the HTTP client browser and the backend JSMDirect cgi-bin program.

Using JSMProxy is very useful as it allows you to define a single entry point and then redirect to a number of different remote servers.

 

The JSMProxy program accepts POSTed content that contains the Content-Length HTTP protocol property. The IBMi JSMProxy program running on the IBMi Apache server can also accept Chunked-Transfer encoded content.

Note: Chunked-Transfer encoding is not supported on the Windows platform.

 

The JSMProxy query string can be in the original keyword format or the industry standard name-value pairs. The name service is reserved.

To display the JSMProxy version number invoke the program with no arguments. An HTML About page will be returned.

http://mycompany/cgi-bin/jsmproxy

http://mycompany/cgi-bin/jsmproxy.exe

Using JSMProxy, a LANSA function can be invoked as follows:

http://mycompany/cgi-bin/jsmproxy?appname

http://mycompany/cgi-bin/jsmproxy?service=appname

http://mycompany/cgi-bin/jsmproxy.exe?appname

http://mycompany/cgi-bin/jsmproxy.exe?service=appname

For example, to run the ORDERENTRY application:

http://mycompany/cgi-bin/jsmproxy?orderentry

http://mycompany/cgi-bin/jsmproxy?service=orderentry

http://mycompany/cgi-bin/jsmproxy.exe?orderentry

http://mycompany/cgi-bin/jsmproxy.exe?service=orderentry

The JSMProxy program locates the LANSA function to be executed based on the appname.

JSMProxy requires an installed HTTP Server.

Checks are made to make sure that each HTTP protocol header value does not exceed 4096 bytes.

The following list shows the HTTP protocol header entries forwarded by the proxy program: