このHTTP 例では、JSMDIRECT 構成、および、サンプル HTML ファイルのホストとなる HTTP サーバーが必要です。
FUNCTION OPTIONS(*DIRECT)**********DEFINE FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(20)DEFINE FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(256)DEFINE FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(256)**********DEFINE FIELD(#NAME) TYPE(*CHAR) LENGTH(50)DEFINE FIELD(#VALUE) TYPE(*CHAR) LENGTH(100)DEF_LIST NAME(#LST) FIELDS((#NAME) (#VALUE)) TYPE(*WORKING)**********
********** JSM_OPEN**********USE BUILTIN(JSM_OPEN) WITH_ARGS('LOCALHOST:7560') TO_GET(#JSMSTS #JSMMSG)EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)**********
********** SERVICE_LOAD**********CHANGE FIELD(#JSMCMD) TO('SERVICE_LOAD SERVICE(HTTPService) TRACE(*YES) BIND(*LIST) SERVICE_LIST(NAME,VALUE)')USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG #LST)EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)**********
********** RECEIVE HANDLER**********CHANGE FIELD(#JSMCMD) TO('''RECEIVE HANDLER(InboundMultiPart) FIELD(SONUMBER)''')USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG)EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)**********
********** RECEIVE HANDLER**********CHANGE FIELD(#JSMCMD) TO('''RECEIVE HANDLER(InboundMultiPart) FILE(FILE1) TO(demo.txt)''')USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG)EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)**********
********** SEND HANDLER**********CHANGE FIELD(#JSMCMD) TO('''SEND HANDLER(InboundFile) FILE(receipt.pdf) CONTENT(*PDF) UACACHE(5)''')USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG)EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)**********
********** JSM_CLOSE**********USE BUILTIN(JSM_CLOSE) TO_GET(#JSMSTS #JSMMSG)EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)**********
********** SUB ROUTINES**********SUBROUTINE NAME(CHECK) PARMS((#JSMSTS *RECEIVED) (#JSMMSG *RECEIVED))**********IF COND('#JSMSTS *NE OK')**********
********** Close service and send the HTTP response**********USE BUILTIN(JSM_CLOSE) TO_GET(#JSMSTS #JSMMSG)**********ENDIF**********ENDROUTINE
HTML ブラウザ クライアント
以下の HTML は、上記の HTTP サービス例のクライアント側のコードです。
<!DOCTYPE html><html> <form method="POST" action="http://lansa01:1099/cgi-bin/jsmdirect?service=demohttp&mode=order" enctype="multipart/form-data"> <table> <tr><td>Order#</td><td><input name="SONUMBER" type="text" value="12345"/></td></tr> <tr><td>Customer</td><td><input name="CUSTNAME" type="text" value="ABC Industries"/></td></tr> <tr><td>Street</td><td><input name="STREET" type="text" value="123 Main St"/></td></tr> <tr><td>City</td><td><input name="CITY" type="text" value="Chicago"/></td></tr> <tr><td>PostCode</td><td><input name="POSTCODE" type="text" value="60609"/></td></tr> </table> <br/> <input name="FILE1" type="file"/> <br/> <br/> <input type="SUBMIT" value="Send order"/> </form> </html>