HTTPService Inbound Example

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

Function Options(*DIRECT)

*

Define Field(#NAME) Type(*CHAR) Length(50)

Define Field(#VALUE) Type(*CHAR) Length(100)

Def_List Name(#LST) Fields(#NAME #VALUE) Type(*WORKING)

*

* JSMX_BEGIN

*

Use Builtin(JSMX_BEGIN)

*

* JSMX_OPEN

*

Use Builtin(JSMX_OPEN) With_Args('LOCALHOST:7560') To_Get(#JSMXSTS #JSMXMSG #JSMXHDLE1)

Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)

*

* SERVICE_LOAD

*

#JSMXCMD := 'SERVICE_LOAD SERVICE(HTTPService) SERVICE_CONTENT(*HTTP) BIND(*LIST) TRACE(*YES)'

Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMXSTS #JSMXMSG #LST)

Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)

*

* RECEIVE HANDLER

*

#JSMXCMD := 'RECEIVE HANDLER(InboundMultiPart) FIELD(SONUMBER)'

Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMXSTS #JSMXMSG)

Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)

*

* RECEIVE HANDLER

*

#JSMXCMD := 'RECEIVE HANDLER(InboundMultiPart) FILE(FILE1) TO(demo.txt)'

Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMXSTS #JSMXMSG)

Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)

*

* SEND HANDLER

*

#JSMXCMD := 'SEND HANDLER(InboundFile) FILE(receipt.pdf) CONTENT(*PDF) UACACHE(5)'

Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMXSTS #JSMXMSG)

Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)

*

* JSMX_CLOSE

*

Use Builtin(JSMX_CLOSE) With_Args(#JSMXHDLE1) To_Get(#JSMXSTS #JSMXMSG)

Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)

*

* JSMX_END

*

Use Builtin(JSMX_END)

*

* SUB ROUTINES

*

Subroutine Name(CHECK) Parms((#JSMXSTS *RECEIVED) (#JSMXMSG *RECEIVED))

*

If Cond('#JSMXSTS *NE OK')

*

* Close service and send the HTTP response

*

Use Builtin(JSMX_CLOSE) With_Args(#JSMXHDLE1) To_Get(#JSMXSTS #JSMXMSG)

*

Endif

*

Endroutine

 

HTML Browser Client

<!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>