You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

HTTPService のインバウンド例

この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>
                       
  • No labels