RXS_GetUrlVar()

This subprocedure is used to retrieve variables from the URL that was used to call the current program as a web service.

Variables on a URL are specified in name-value pairs. For example:

http://mysite.com/rxs/mywebservice?customer=1&code=3

In this example, there are two variables: customer and code, and each of them has a value of 1 and 3 respectively.

Note: This API is only meant to be used in a program acting as a webservice. Using it in other programs will throw errors.

Subprocedure Prototype

D RXS_GetUrlVar...
D                 PR                  Extproc('RXS_GetUrlVar') Opdesc
D                                     Like(RXS_Var16Mv_t)
D                                     Rtnparm

Returns the data retrieved from the URL variable.

D   UrlVar                     300A   Value

Specify the name of the URL variable which is to be retrieved.

D   Input                             Like(RXS_Var16Mv_t)
D                                     Options(*Nopass:*Varsize)
 

Example Code

*--------------------------------------------------------------
* This example code retrieves variable values from the URL that 
* was used to call this program.
* For example, if this program were called with the following URL:
* http://mysite.com/rxs/mywebservice?customer=1&code=3
* The output in the job log would be:
* Customer: 1
* Code: 3
*--------------------------------------------------------------
H DFTACTGRP(*NO) BNDDIR('RXSBND') ACTGRP(*CALLER)

 /define RXSV6R1
 /copy QRPGLECPY,RXSCB

D VarCustomer     S                   Like(RXS_Var1Kv_t)
D VarCode         S                   Like(RXS_Var1Kv_t)

 /free

  VarCustomer = RXS_GetUrlVar( 'customer' );

  VarCode = RXS_GetUrlVar( 'code' );

  RXS_JobLog( 'Customer: %s' : VarCustomer ); 
  RXS_JobLog( 'Code: %s' : VarCode ); 

  *INLR = *ON;
 /end-free
*--------------------------------------------------------------
* This example code retrieves variable values from the URL that 
* was used to call this program.
* For example, if this program were called with the following URL:
* http://mysite.com/rxs/mywebservice/customer/15/code/43
* The output in the job log would be:
* Customer: 5
* Code: 43
*--------------------------------------------------------------
H DFTACTGRP(*NO) BNDDIR('RXSBND') ACTGRP(*CALLER)

 /define RXSV6R1
 /copy QRPGLECPY,RXSCB

D VarCustomer     S                   Like(RXS_Var1Kv_t)
D VarCode         S                   Like(RXS_Var1Kv_t)

 /free

  VarCustomer = RXS_GetUrlVar( 'customer/' );

  VarCode = RXS_GetUrlVar( 'code/' );

  RXS_JobLog( 'Customer: %s' : VarCustomer );
  RXS_JobLog( 'Code: %s' : VarCode );

  *INLR = *ON;
 /end-free