Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This HTTP example requires JSMDIRECT configuration and a HTTP server to host the sample HTML file.

Function     Function Options(*DIRECT)
     *
Define     Define Field(#NAME) Type(*CHAR) Length(50)
Define     Define Field(#VALUE) Type(*CHAR) Length(100)
Def     Def_List Name(#LST) Fields(#NAME #VALUE) Type(*WORKING)
     *
     * JSMX_BEGIN
     *
Use     Use Builtin(JSMX_BEGIN)
     *
     * JSMX_OPEN
     *
Use     Use Builtin(JSMX_OPEN) With_Args('LOCALHOST:7560') To_Get(#JSMXSTS #JSMXMSG #JSMXHDLE1)
Execute     Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)
     *
     * SERVICE_LOAD
     *
#JSMXCMD     #JSMXCMD := 'SERVICE_LOAD SERVICE(HTTPService) SERVICE_CONTENT(*HTTP) BIND(*LIST) TRACE(*YES)'
Use     Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMXSTS #JSMXMSG #LST)
Execute     Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)
     *
     * RECEIVE HANDLER
     *
#JSMXCMD     #JSMXCMD := 'RECEIVE HANDLER(InboundMultiPart) FIELD(SONUMBER)'
Use     Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMXSTS #JSMXMSG)
Execute     Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)
     *
     * RECEIVE HANDLER
     *
#JSMXCMD     #JSMXCMD := 'RECEIVE HANDLER(InboundMultiPart) FILE(FILE1) TO(demo.txt)'
Use     Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMXSTS #JSMXMSG)
Execute     Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)
     *
     * SEND HANDLER
     *
#JSMXCMD     #JSMXCMD := 'SEND HANDLER(InboundFile) FILE(receipt.pdf) CONTENT(*PDF) UACACHE(5)'
Use     Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMXSTS #JSMXMSG)
Execute     Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)
     *
     * JSMX_CLOSE
     *
Use     Use Builtin(JSMX_CLOSE) With_Args(#JSMXHDLE1) To_Get(#JSMXSTS #JSMXMSG)
Execute     Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)
     *
     * JSMX_END
     *
Use     Use Builtin(JSMX_END)
     *
     * SUB ROUTINES
     *
Subroutine     Subroutine Name(CHECK) Parms((#JSMXSTS *RECEIVED) (#JSMXMSG *RECEIVED))
     *
If     If Cond('#JSMXSTS *NE OK')
     *
     * Close service and send the HTTP response
     *
Use     Use Builtin(JSMX_CLOSE) With_Args(#JSMXHDLE1) To_Get(#JSMXSTS #JSMXMSG)
     *
Endif
*
Endroutine     Endif
     *
     Endroutine

HTML Browser Client

<     <!DOCTYPE html>
<html>
     <html>

    <form   <form method="POST" action="http://lansa01:1099/cgi-bin/jsmdirect?service=demohttp&mode=order" enctype="multipart/form-data">
  
        <table>
      <tr><td>Order#<           <tr><td>Order#</td><td><input name="SONUMBER"     type="text" value="12345"/></td></tr>
      <tr><td>Customer<           <tr><td>Customer</td><td><input name="CUSTNAME"  type="text" value="ABC Industries"/></td></tr>
      <tr><td>Street<           <tr><td>Street</td><td><input name="STREET"      type="text" value="123 Main St"/></td></tr>
      <tr><td>City<           <tr><td>City</td><td><input name="CITY"          type="text" value="Chicago"/></td></tr>
      <tr><td>PostCode<           <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>