RPG-XML Suite Version 3.2 Officially Released

This article was originally posted on our RPG-XML Suite product website.

Since the January 2014 introduction of the new RXS3 API and its improvements, our RPG-XML Suite customers have continued to make suggestions for even more features and new functionality. At Krengeltech we embrace these suggestions to allow developers to leverage their existing RPG skills and couple them with newer, advanced technologies.

With the introduction of version 3.2 for RPG-XML Suite we have added support for the following:

Below are some simple code examples of the enhanced features highlighted above.

Consuming a RESTful web service with the DELETE method:

TransmitDS.HTTPMethod = RXS_HTTP_METHOD_DELETE;
gXmlResponse = RXS_Transmit( gXmlRequest : TransmitDS );

Offering a RESTful web service processing the DELETE method:

gMethod = RXS_GetEnvVar( ‘REQUEST_METHOD’ );
if gMethod = ‘DELETE’;

endif;

Parsing a RESTful URI such as http://www.example.com/customer/53874

gCustomer = RXS_GetUrlVar( ‘customer/’ );

Compiled templates are a hit!  Now dynamically processed templates are available as well:

ComposeDS.Stmf = ‘/www/rxs/templates/geturi2.tpl’;

Extended length templates up to 256K:

ComposeDS.LargeTemplate = RXS_YES;

Compression of whitespace when composing:

ComposeDS.TrimTemplateLines = RXS_YES;
ComposeDS.OmitLineControls = RXS_YES;

Reset or Initialize an RXS data structure:

RXS_ResetDS( GetStmfDS : RXS_DS_TYPE_GETSTMF );

Omit uncomposed template lines:

ComposeDS.OmitUncomposedLines = RXS_YES;

Reading a SMTF in “chunks”:

RXS_ResetDS( GetStmfDS : RXS_DS_TYPE_GETSTMF );
GetStmfDS.Stmf = ‘/tmp/bigfile.txt;
GetStmfDS.ChunkedLength = 65535;
dou %len(Data) = 0;
Data = RXS_GetStmf( GetStmfDS );

enddo;

Output required HTTP headers easily:

RXS_ResetDS( PutStdOutDS : RXS_DS_TYPE_PUTSTDOUT );
PutStdOutDS.HeaderStatusCode = 500;
PutStdOutDS.HeaderStatusText = ‘SOAP Fault’; PutStdOutDS.HeaderContentType = ‘text/xml’;
RXS_PutStdOut( gXml : PutStdOutDS );

Read STDIN over 16MB directly to a stream file:

RXS_ResetDS( GetStdInDS : RXS_DS_TYPE_GETSTDIN );
GetStdInDS.Stmf = ‘/tmp/over16mb.xml’;
RXS_GetStdIn( GetStdinDS );

Output large stream files over 16MB in size to STDOUT:

RXS_ResetDS( gPutStdOutDS : RXS_DS_TYPE_PUTSTDOUT );
gPutStdOutDS.HeaderContentType = ‘text/xml’;
gPutStdOutDS.Stmf = ‘/tmp/over16mb.xml’;
RXS_PutStdOut( *Omit : gPutStdOutDS );

Improved logging from RXS_Transmit():

# Timestamp: 2015-09-22-14.16.05.604000
# Product: RPG-XML Suite
# Version: 3.20
#
# JobCcsid: 37

# URI: http://www.w3schools.com/webservices/tempconvert.asmx
# RequestStmf:
# ResponseStmf:
# RequestCcsid: 1208
# ResponseCcsid: 65535
# ResponseStmfCcsid: 1208
# Timeout: 60


Interested in installing or upgrading to RPG-XML Suite version 3.2?

Contact our support team directly at isupport@krengeltech.com.
Coming next to RPG-XML Suite?  JSON composition and parsing!

Leave a Reply

Your email address will not be published. Required fields are marked *