[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

HTTPS XML - Help Needed on New App



   First foray into HTTPS and XML.


   Downloaded the libhttp and libexpat. Installed OK, including the
   rstobj obj(expat).  Trying to get the UPSTRACK program to work for use
   as an example to what I need to accomplish, which is to send invoices
   to a customer.  An XML reply will be issued by customer to each
   invoice.  Each invoice is sent as a single request (no grouping of
   invoices in same XML stream).


   Would appreciate any and all guidance on this.


   Problem with UPSTRACK pgm:
    1. Initial attempt to execute pgm after signing onto 400 generates
       error at the "https_init"<>0 statement:

   Application not registered with DCM

   (presumably Digital Certificate Manager)
    2. Second attempt to execute (in same session), does not get the DCM
       error, but gets error after the POSTDATA defined:

   XML parse failed at line 1 col 0: no element found


   Environment:
    1. Have registered with UPS and received an access code which was
       implemented into the pgm.
    2. V5R3.  HTTPSVR running. Certificate *system created. *DFTROUTE
       defined in cfgtcp (can ping and telnet out of 400), 400 is not
       visible from outside of network without VPN connection.  Testing
       with the `live' UPS site and the `cie' addresses give same result.
    3. Have enabled the user profile on the 400 access to the DCM *system
       (using OpsNav) for Applications Tab (user is of security officer
       class)


   Questions:
    1. Cause of error messages DCM and XML Parse?
    2. Is something potentially missing with EXPAT?
    3. What is HTTTPAPIR4?  (saw it in libhttp) Is it relevant to the
       `/copy' which points at httpapi_h?  Any steps needed to compile,
       link this, etc?
    4. Future application for invoicing uses <?xml version="1.0"
       encoding="UTF-8" ?>  Are there any special considerations for this
       encoding?


   Code:

      POSTDATA =

       '<?XML VERSION="1.0"?>'                                      +

       '<ACCESSREQUEST XML:LANG="EN-US">'                           +

          '<ACCESSLICENSENUMBER>' + UPS_LICENSE                     +

          '</ACCESSLICENSENUMBER>'                                  +

          '<USERID>' + UPS_USERID + '</USERID>'                     +

          '<PASSWORD>' + UPS_PASSWD + '</PASSWORD>'                 +

       '</ACCESSREQUEST>'                                           +

       '<?XML VERSION="1.0"?>'                                      +

       '<TRACKREQUEST XML:LANG="EN-US">'                            +

          '<REQUEST>'                                               +

             '<TRANSACTIONREFERENCE>'                               +

                '<CUSTOMERCONTEXT>HTTPS GARTLAND</CUSTOMERCONTEXT>' +

                '<XPCIVERSION>1.0001</XPCIVERSION>'                 +

             '</TRANSACTIONREFERENCE>'                              +

             '<REQUESTACTION>TRACK</REQUESTACTION>'                 +

             '<REQUESTOPTION>ACTIVITY</REQUESTOPTION>'              +

          '</REQUEST>'                                              +

          '<TRACKINGNUMBER>' + TRACKINGNO + '</TRACKINGNUMBER>'     +

         '</TRACKREQUEST>'                                            ;

     RC = HTTP_URL_POST_XML('HTTPS://WWWCIE.UPS.COM/UPS.APP/XML/TRACK'

                                 : %ADDR(POSTDATA) + 2

                                 : %LEN(POSTDATA)

                                 : %PADDR(STARTOFELEMENT)

                                 : %PADDR(ENDOFELEMENT)

                                 : *NULL );

           IF (RC <> 1);

              SCMSG= 'SECTION 1';

              EXFMT TRACKNO;

              SCMSG= POSTDATA;

              EXFMT TRACKNO;

              SCMSG = HTTP_ERROR();
        {This is where the XML parse error
   occurs}

              // REPORT ERROR TO USER

              EXFMT TRACKNO;

              *INLR = *ON;

              RETURN;

           ENDIF;
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------