[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: XML, JSON and ILOB support for HTTPAPI/CGIDEV2, download for V5R2
Thanks,
and a little danish special character had sneaked its way into the
CGIDEV2
causing the installation to fail on at least V6R1 machines - the
installation
is now tested on a CCSID 37 V6R1 machine and a new syncronized
downloads has
been made on code.google.com/p/powerext.
Regards
Henrik
"Raul A. Jager W." <raul@xxxxxxxxxx>
Sent by: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
13-10-2009 16:04
Please respond to
HTTPAPI and FTPAPI Projects <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
To
HTTPAPI and FTPAPI Projects <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
cc
Subject
Re: XML, JSON and ILOB support for HTTPAPI/CGIDEV2, download for V5R2
Looks realy great, a tiny detail: a spelling mistake, security is
spelled with "qu" in the main page.
hr@xxxxxxxxxxxx wrote:
> Hereby I enclose documentation & download sites of the discussed
> support:
> API documentaton: http://www.powerEXT.com/pextdoc_CGI.htm
> Download: http://code.google.com/p/powerext/
> This support is only the basic productivity layer of a larger
> Open Source project. It builds on a modified CGIDEV2
implementation
> that supports UTF8/UTF16 IFS files (thanks to Scott) and access to
> the Response Object.
> The API itself, builds on timestudies of normally used and
frequently
> repeated programming methods primarly in CGIDEV2. It has focus on
> efficiency and this is not done to insult anybody in their
methods,
> but out of simple nessesarity.
> You can get a technical overview of the structure in the main
project
> here:
> http://powerEXT.com
> Henrik
>
>
> hr@xxxxxxxxxxxx
> Sent by: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
>
> 12-10-2009 21:00
>
> Please respond to
> HTTPAPI and FTPAPI Projects <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
>
>
To
>
> HTTPAPI and FTPAPI Projects <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
>
>
cc
>
>
Subject
>
> RE: Iseries calling web service in JSON format
>
> I'm very sorry if I have offended Scott, danish humor can be
> very sarcastic and provocative.
> I build my products on the shoulders of experts such as Scott,
> Mel and a "John Doe Danish Batch Programmer" who primearly uses
> their time on the lower level techniques of what is possible on
> an iSeries Server.
> Without people from Rochester, that provides i5/os, and the above
> mentioned guys, my products would have been impossible to make.
> But their expertise dosn't automatically make them experts in any
> question on how to do programs in an efficient manner ...
> BUT, never critise others unless you have another solution ... and
> here it is - ILOB for HTTPAPI:
>
*=====================================================================
> * powerEXT HTTPAPI Sample program
>
*=====================================================================
> /copy qsrc,pxapihdr General H-Spec's
> * powerEXT API Connectors
> /copy qsrc,pxapicgicn Basic HTTP connecter & Basic Services
> /copy qrpglesrc,httpapi_h Scott Klement's HTTPAPI
> // Clear The Service Program and Responce Object
> clrSrvPgm();
> setContent('*none');
> // Generate Structured (*on) or Compressed Code (*off)
> setGlobalTab(*on);
> setGlobalNL(*on);
> // Create your JSON Object with Node Support
> jsonNode('*object');
> jsonNode('*object':'metaData');
> jsonNode('*string':'totalProperty':'totalRows');
> jsonNode('*string':'root':'rows');
> jsonNode('*string':'id':'RRN');
> jsonNode('*array':'fields');
> jsonNode('*object');
> jsonNode('*string':'name':'RRN');
> jsonEndNode();
> jsonNode('*object');
> jsonNode('*string':'name':'WAWUSR');
> jsonEndNode();
> jsonNode('*object');
> jsonNode('*string':'name':'WAWUNA');
> jsonEndNode();
> jsonNode('*object');
> jsonNode('*string':'name':'WARCUD');
> jsonNode('*string':'type':'float');
> jsonEndNode();
> jsonEndNode();
> jsonEndNode();
> jsonNode('*number':'totalRows':%char(sqlCount));
> jsonNode('*array':'rows');
> // do some loop to create JSON Rows
> jsonNode('*object');
> jsonNode('*number':'RRN':%char(RRN));
> jsonNode('*string':'WAWUSR':WAWUSR);
> jsonNode('*string':'WAWUNA':WAWUNA);
> jsonNode('*number':'WARCUD':%trim(%editc(WARCUD:'P')));
> jsonEndNode();
> // end loop
> // End the JSON Object
> jsonEndNode();
> jsonEndNode();
> // Send the file to a Client with CGIDEV2
> echoToClient();
> // Or Store the file in IFS
> echoToStmf('/myfile.json':1208);
> // Or send the file to a Server with HTTPAPI by
> // Retrieving the Responce Object Buffer Pointer and Size
> myPointer = bufAddr();
> mySize = bufSize();
> http_url_post ....
> // Here is a XML example:
> echo('<?xml version="1.0"?>');
> xmlNode('AccessRequest':'xml:lang="en-US"');
> xmlMode('AccessLicenseNumber':'':'UPS_LICENSE');
> xmlNode('UserId':'':UPS_USERID);
> xmlNode('Password':'':UPS_PASSWD); ´
> xmlEndNode();
> echo('<?xml version="1.0"?>');
> xmlNode('TrackRequest':'xml:lang="en-US"');
> xmlNode('Request');
> xmlNode('TransactionReference');
> xmlNode('CustomerContext':'':'HTTPAPI EXAMPLE16');
> xmlNode('XpciVersion':'':'1.0001');
> xmlEndNode();
> xmlNode('RequestAction':'':'Track');
> xmlNode('RequestOption':'':'activity');
> xmlEndNode();
> xmlNode('TrackingNumber':'':TrackingNo);
> xmlEndNode();
> - you don't have to write tag names twice
> - you don't have to worry about ending tags
> - you don't have to worry about special char encoding
> - you write less
> - you can output the file into IFS for test
> - you can structure you code for readability
> - you can compress your code for production and speed
> - you can use the same technique in CGIDEV2, HTTPAPI and FTPAPI
> or anywhere else
> - you can use the same methods for HTML, XML and JSON
> - you have no JSON comma hell
> - you don't have to use templates
> - you can have service programs that also writes to the buffer
> - you are not restricted to 32767 bytes
> Richard Wilson <Richard.Wilson@xxxxxxxxxxxxxxx>
> Sent by: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
> 12-10-2009 10:47
> Please respond to
> HTTPAPI and FTPAPI Projects <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
> To
> HTTPAPI and FTPAPI Projects <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
> cc
> Subject
> RE: Iseries calling web service in JSON format
> Oh!
> I read it and thought Henrik was using irony and sarcasm (?) -
well,
> something like that, to take a poke at the original questioner..
> .. And I really fail to see why Scott would even have the
faintest
> of
> inclination to feel bad about not having implemented some new gee
gaw
> into
> the product. Isn't the normal run of things that someone who
needs an
> 'extra' works on it, implements it, and shares at around for
everyone
> else to help improve the product.
> My vote is for Scott to feel good about all the stuff this code
does,
> and
> get a warm feeling from all the thanks from all the people round
the
> planet who appreciate his pioneering and continued support..
> But that's just me..
> Richard
> >
> > Michael Ryan wrote:
> > > I think Henrik is volunteering to implement the CGIDEV2
> memorymodel
> > > for ILOB (wtf) that is. Plans include unit testing,
regression
> > > testing, and packaging. On his own time.
> > > Scott...you're the uber programmer...thanks for writing the
> code
> you
> > > write.
> >
> > Hear, hear!
> >
> > And Henrik, one other thing while you're at it: make it run as
far
> back
> > as V4R4, and compilable using V4R2 tools.
> >
> This document may contain confidential information intended for
the
> addressee only. Any views or opinions presented do not necessarily
> represent those of Newcastle Building Society/Newcastle Financial
> Services
> Limited/NBS Mortgage Advisor Limited/Newcastle Mortgage Services
> Limited,
> hereinafter referred to as NBS group.
> If you are not the intended recipient, any disclosure, copying, or
> reliance upon this E-mail is prohibited. If you have received this
> document in error, please notify the sender so that NBS group may
> arrange
> for its proper delivery. All e-mails are scanned for viruses and
other
> unacceptable content, which may result in non-delivery of a small
> proportion of e-mails. Anyone sending urgent/important e-mails
should
> therefore confirm delivery.
> NBS group does not enter into contracts by means of Internet or
e-mail
> and
> staff are not authorised to enter into contracts in this way.
> NBS introduces to Newcastle Financial Services Limited (NFSL).
NFSL
> is an
> appointed representative of Openwork Limited, which is authorised
and
> regulated by the FSA. Newcastle Building Society is authorised and
> regulated by the Financial Services Authority
> (www.fsa.gov.uk/register/)
> and is entered in the Financial Services Authority Register under
> Registration No. 156058.
> Web site: www.newcastle.co.uk
>
----------------------------------------------------------------------
> -
> This is the FTPAPI mailing list. To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
>
----------------------------------------------------------------------
> -
>
----------------------------------------------------------------------
> -
> This is the FTPAPI mailing list. To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
>
----------------------------------------------------------------------
> -
>
>
>
>---------------------------------------------------------------------
---
>
>---------------------------------------------------------------------
--
>This is the FTPAPI mailing list. To unsubscribe, please go to:
>http://www.scottklement.com/mailman/listinfo/ftpapi
>---------------------------------------------------------------------
--
>
>
----------------------------------------------------------------------
-
This is the FTPAPI mailing list. To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
----------------------------------------------------------------------
-
-----------------------------------------------------------------------
This is the FTPAPI mailing list. To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------