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
.JSMProxy requires an installed HTTP Server.
JSMProxy does not require or use any of the LANSA for the Web software.
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:
- Accept
- Referer
- Cookie
- User-Agent
- SoapAction
- Content-Type
- Content-Length
- AS2-To
- AS2-From
- AS2-Version
- From
- Date
- Subject
- Message-Id
- Disposition-Notification-To
- Disposition-Notification-Options
- Receipt-Delivery-Option