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

Problem w/WSDL2RPG v1.7.3



I've installed Version V1.7.3 and am trying to create a module.

I get the following error:

RNF0637 30 a      000962  An operand was expected but was not found; specification is  
                                                 ignored.                                                     

For the following code:

0085.18   7606            namespace = 'http://fwapi.DriverTech.com/CommonTypes/2009/04');   
0085.19   7607        http_parser_switch_cb(                                                
0085.20   7608           %addr(s1_VehiclePerformance_GetByDateResult.Entry)                 
0085.21   7609           : %paddr('s1_EntryStart_of_s1_VehiclePerformance_GetByDateResult+  
0085.22   7610           ')                                                                 
0085.23   7611           : %paddr('s1_EntryEnd_of_s1_VehiclePerformance_GetByDateResult')+  
0085.24   7612           );                                 

However http_parser_switch_cb shows up elsewhere in the code without any errors.

I'm including my source and the compiler listing.

Karl B. Woods  
Sr. Programmer/Analyst
Professional Services
1960 S. Milestone Dr., Ste B
Salt Lake City, UT 84104 
Tel: (801) 433-9426 (office)
Fax: (801) 487-2775
E-mail:  karl.woods@xxxxxxxxxxxxxx
      /IF NOT DEFINED(PROTOTYPE_WSTST1    )
      *==========================================================================
      *  WSDL2RPG V1.7
      *==========================================================================
      * >>PRE-COMPILER<<
      *   >>CRTCMD<< CRTRPGMOD    MODULE(&LI/&OB) +
      *                           SRCFILE(&SL/&SF) +
      *                           SRCMBR(&SM);
      *   >>COMPILE<<
      *     >>PARM<< TRUNCNBR(*NO);
      *     >>PARM<< DBGVIEW(*LIST);
      *   >>END-COMPILE<<
      *   >>EXECUTE<<
      *   >>CMD<<    CRTSRVPGM +
      *              SRVPGM(&LI/&OB) +
      *              MODULE(&LI/&OB) +
      *              EXPORT(*ALL) +
      *              BNDDIR(QC2LE) +
      *              BNDSRVPGM(*LIBL/WSDL2RPGRT +
      *                        *LIBL/BASICS1) +
      *              TEXT('+
      *              Web Service: VehiclePerformance_GetByDate()+
      *              ') +
      *              DETAIL(*BASIC);
      * >>END-PRE-COMPILER<<
      *==========================================================================
     H NOMAIN
     H BNDDIR('HTTPAPI')
      /ENDIF
      *
      * This is the procedure you call to consume the Web Service:
      * ----------------------------------------------------------
      * Operation: tns:VehiclePerformance_GetByDate
      * Returns  : tns_VehiclePerformance_GetByDateResponse
      *
      * Include fields in your test/production programs referring to the *_t
      * type templates used in this prototype, using a LIKE(*_t) or LIKEDS(*_t).
      * These fields will be your request and response messages.
      *
     D ReportsServiceBinding_v2_0_VehiclePerformance...
     D _GetByDate...
     D                 PR                  likeds(tns_VehiclePerformance_GetB...
     D                                     yDateResponse_t)
     D                                     extproc('ReportsServiceBinding_v2_0_+
     D                                     VehiclePerformance_GetByDate')
     D  i_tns_VehiclePerformance_GetByDate...
     D                                     likeds(tns_VehiclePerformance_GetB...
     D                                     yDate_t)
     D                                     const
     D  o_msg                              like(wsdl_errText_t )
      *
      *   Array dimensions:
     D DIM_A1          C                   128
     D DIM_A2          C                   128
      *
      *   Types:
     D s1_DTScanReportEntry_t...
     D                 S            128A   varying
     D                                     based(pDummy)
      *
     D s1_RpgArrayOfEntry_t...
     D                 DS                  based(pDummy)
     D                                     qualified
     D  x                            10I 0
     D  DTScanReportEntry...
     D                                     like(s1_DTScanReportEntry_t)
     D                                     dim(DIM_A1)
      *
      *
     D s1_RpgArrayOfTruckPCBase_t...
     D                 DS                  based(pDummy)
     D                                     qualified
     D  x                            10I 0
     D  item                               likeds(s1_TruckPCBaseRnmd_t)
     D                                     dim(DIM_A2)
      *
      *
     D s1_TruckPCBaseRnmd_t...
     D                 DS                  based(pDummy)
     D                                     qualified
     D  TruckName                   128A   varying
      *
      *
     D s1_VehiclePerformanceReport_t...
     D                 DS                  based(pDummy)
     D                                     qualified
     D  Entry                              likeds(s1_RpgArrayOfEntry_t)
      *
      *
     D tns_VehiclePerformance_GetByDate_t...
     D                 DS                  based(pDummy)
     D                                     qualified
     D  TruckPCBase                        likeds(s1_RpgArrayOfTruckPCBase_t)
     D  BatchSize                    10I 0
     D  EndDate                        Z
     D  QueryByRecordDate...
     D                                 N
     D  StartDate                      Z
      *
      *
     D tns_VehiclePerformance_GetByDateResponse_t...
     D                 DS                  based(pDummy)
     D                                     qualified
     D  VehiclePerformance_GetByDateResult...
     D                                     likeds(s1_VehiclePerformanceReport_t)
     D  TotalRowCount                10I 0
      *
      *
      *   Web service: Enables/disables the debug log of HTTP API
     D ReportsServiceBinding_v2_0_setHttpDebug...
     D                 PR
     D                                     extproc('+
     D                                     ReportsServiceBinding_v2_0+
     D                                     _setHttpDebug+
     D                                     ')
     D   i_status                      N   const
     D   i_fileName                 500A   const  varying  options(*nopass)
      *
      *   Web service: Sets the proxy server to use for the connection
     D ReportsServiceBinding_v2_0_setProxy...
     D                 PR
     D                                     extproc('+
     D                                     ReportsServiceBinding_v2_0+
     D                                     _setProxy+
     D                                     ')
     D  i_server                    256A   const
     D  i_port                       10I 0 const
      *
      *   Web service: Returns the endpoint of the Web service
     D ReportsServiceBinding_v2_0_getEndpoint...
     D                 PR         32767A          varying
     D                                     extproc('+
     D                                     ReportsServiceBinding_v2_0+
     D                                     _getEndpoint+
     D                                     ')
      *
      *   Web service: Sets the endpoint of the Web service
     D ReportsServiceBinding_v2_0_setEndpoint...
     D                 PR
     D                                     extproc('+
     D                                     ReportsServiceBinding_v2_0+
     D                                     _setEndpoint+
     D                                     ')
     D  i_url                     32767A   const varying  options(*varsize)
      *
      *   Web service: Returns the host name of the Web Service endpoint
     D ReportsServiceBinding_v2_0_getHost...
     D                 PR         32767A          varying
     D                                     extproc('+
     D                                     ReportsServiceBinding_v2_0+
     D                                     _getHost+
     D                                     ')
      *
      *   Web service: Sets the host name of the Web service endpoint
     D ReportsServiceBinding_v2_0_setHost...
     D                 PR
     D                                     extproc('+
     D                                     ReportsServiceBinding_v2_0+
     D                                     _setHost+
     D                                     ')
     D  i_url                     32767A   const varying  options(*varsize)
      *
      *   Web service: Returns the port of the Web Service endpoint
     D ReportsServiceBinding_v2_0_getPort...
     D                 PR            10I 0
     D                                     extproc('+
     D                                     ReportsServiceBinding_v2_0+
     D                                     _getPort+
     D                                     ')
      *
      *   Web service: Sets the port of the Web service endpoint
     D ReportsServiceBinding_v2_0_setPort...
     D                 PR
     D                                     extproc('+
     D                                     ReportsServiceBinding_v2_0+
     D                                     _setPort+
     D                                     ')
     D  i_port                       10I 0 const
      *
      *   Registers an user callback procedure, that is called whenever
      *   a web service requires user authentification.
     D ReportsServiceBinding_v2_0_registerLoginCallback...
     D                 PR
     D                                     extproc('+
     D                                     ReportsServiceBinding_v2_0+
     D                                     _registerLoginCallback+
     D                                     ')
     D  i_pLoginProc                   *   value  procptr
      *
      *   Http: Returns the last HTTP error (code) that occurred.
     D ReportsServiceBinding_v2_0_HttpError_getCode...
     D                 PR                  like(wsdl_http_ErrorNo_t  )
     D                                     extproc('+
     D                                     ReportsServiceBinding_v2_0+
     D                                     _HttpError_getCode+
     D                                     ')
      *
      *   Http: Returns the last HTTP error (text) that occurred.
     D ReportsServiceBinding_v2_0_HttpError_getText...
     D                 PR                  like(wsdl_http_ErrorText_t)
     D                                     extproc('+
     D                                     ReportsServiceBinding_v2_0+
     D                                     _HttpError_getText+
     D                                     ')
      *
      *   Soap: Returns the last SOAP error (code) that occurred.
     D ReportsServiceBinding_v2_0_SoapError_getCode...
     D                 PR                  like(wsdl_soap_faultcode_t  )
     D                                     extproc('+
     D                                     ReportsServiceBinding_v2_0+
     D                                     _SoapError_getCode+
     D                                     ')
      *
      *   Soap: Returns the last SOAP error (text) that occurred.
     D ReportsServiceBinding_v2_0_SoapError_getText...
     D                 PR                  like(wsdl_soap_faultstring_t)
     D                                     extproc('+
     D                                     ReportsServiceBinding_v2_0+
     D                                     _SoapError_getText+
     D                                     ')
      *
      *   Enables/disables a workaround for Web services that are driven
      *   by Axis and that are affected by the AXIS-2095 bug.
     D ReportsServiceBinding_v2_0_enableAxis2095...
     D                 PR
     D                                     extproc('+
     D                                     ReportsServiceBinding_v2_0+
     D                                     _enableAxis2095+
     D                                     ')
     D  i_isEnabled                    N   const
      *
      *   User callback to supply login information
      *   Returns WSDL_SUCCESS if successful, WSDL_ERROR upon error.
      *
      *   Parameter description:
      *     i_authType         Authentication type:
      *                          WSDL_AUTH_TYPE_HTTP  - HTTP server.
      *                          WSDL_AUTH_TYPE_PROXY - Proxy server.
      *     i_realm            Authentication realm.
      *     i_numAttempts      Number of login attempts.
      *     o_user             UserName to use.
      *     o_password         Password to use.
      *
     D ReportsServiceBinding_v2_0_supplyLoginData...
     D                 PR            10I 0
     D                                     extproc('+
     D                                     ReportsServiceBinding_v2_0+
     D                                     _supplyLoginData+
     D                                     ')
     D  i_authType                   14A          const  varying
     D  i_realm                     126A          const  varying
     D  i_numAttempts                10I 0        const
     D  o_user                       50A                 varying
     D  o_password                   50A                 varying
      *
      /IF NOT DEFINED(WSDL2RPG_WS_STUB_COMMON_TYPES)
      /DEFINE WSDL2RPG_WS_STUB_COMMON_TYPES
      *
      *   Web Service error message:
     D wsdl_errText_t...
     D                 S            128A   varying                 based(pDummy)
      *
      *   SOAP types:
     D wsdl_http_ErrorNo_t...
     D                 S             10I 0                         based(pDummy)
      *
     D wsdl_http_ErrorText_t...
     D                 S            128A   varying                 based(pDummy)
      *
     D wsdl_soap_faultCode_t...
     D                 S            256A   varying                 based(pDummy)
      *
     D wsdl_soap_faultstring_t...
     D                 S            256A   varying                 based(pDummy)
      *
      *   Constants:
     D WSDL_HTTP_SUCCESS...
     D                 C                   1
     D WSDL_HTTP_ERROR_UNEXPECTED...
     D                 C                   -1
      *
     D WSDL_SUCCESS...
     D                 C                   1
     D WSDL_ERROR...
     D                 C                   0
      *
     D WSDL_AUTH_TYPE_HTTP...
     D                 C                   '*HTTP'
     D WSDL_AUTH_TYPE_PROXY...
     D                 C                   '*PROXY'
      *
      /ENDIF
      *
      /IF DEFINED(PROTOTYPE_WSTST1    )
      /EOF
      /ENDIF
      * ---------------------------------------------------------------------
      *
      *   HTTP header:
     D cHTTP_HEADER_CONTENT_TYPE...
     D                 C                   'Content-Type'
     D cHTTP_HEADER_SOAP_ACTION...
     D                 C                   'SOAPAction'
      *
     D headers_t...
     D                 DS                  qualified               based(pDummy)
     D  contentType                        like(wsdl_contentType_t)
     D  soapAction                         like(wsdl_soapAction_t )
      *
      *   SOAP types:
     D wsdl_soap_Fault_t...
     D                 DS                  qualified               based(pDummy)
     D  httpError                          likeds(wsdl_httpError_t  )
     D  faultcode                          like(wsdl_soap_faultcode_t    )
     D  faultstring                        like(wsdl_soap_faultstring_t  )
     D  detail                             likeds(wsdl_soap_FaultDetail_t)
      *
     D wsdl_soap_FaultDetail_t...
     D                 DS                  qualified               based(pDummy)
     D  hostname                    256A   varying
      *
     D wsdl_httpError_t...
     D                 DS                  qualified               based(pDummy)
     D  no                                 like(wsdl_http_ErrorNo_t   )
     D  text                               like(wsdl_http_ErrorText_t )
      *
 CPY  /COPY QBASICS1,PBASICS1                      Tools/400 Runtime Library
 CPY  /COPY QRPGLESRC,EXPAT_H                      RPG defs for calling eXpat
 CPY  /COPY QRPGLESRC,HTTPAPI_H                    HTTP-API Service Program
 CPY  /COPY QWSDL2RPG,PWSDL2R94                    WSDL2RPG: MultiRef
 CPY  /COPY QWSDL2RPG,PWSDL2R98                    WSDL2RPG: UnMarshaller/Marshaller
 CPY  /COPY QWSDL2RPG,PWSDL2R42                    WSDL2RPG: User name and password
      *
      * ------------------------------------
      *  Internal prototypes
      * ------------------------------------
      *
      *   Sets the content type and the SOAP action of the POST message.
     D HTTP_setContentTypeAndSOAPAction...
     D                 PR
     D                                     extproc('+
     D                                     HTTP_setContentTypeAndSOAPAction+
     D                                     ')
     D  o_addlHdrs                 1024A          varying
     D  i_pUserData                    *   value
      *
     D tns_VehiclePerformance_GetByDateResponseStart...
     D                 PR
     D                                     extproc('tns_VehiclePerformance_GetB+
     D                                     yDateResponseStart')
     D  userdata                       *   value
     D  depth                        10I 0 value
     D  namespace                  1024A   varying const
     D  name                       1024A   varying const
     D  path                      24576A   varying const
     D  attrs                          *   dim(32767)
     D                                     const options(*varsize)
     D tns_VehiclePerformance_GetByDateResponseEnd...
     D                 PR
     D                                     extproc('tns_VehiclePerformance_GetB+
     D                                     yDateResponseEnd')
     D  userdata                       *   value
     D  depth                        10I 0 value
     D  namespace                  1024A   varying const
     D  name                       1024A   varying const
     D  path                      24576A   varying const
     D  value                     65535A   varying const
     D  attrs                          *   dim(32767)
     D                                     const options(*varsize)
     D s1_VehiclePerformance_GetByDateResultStart...
     D                 PR
     D                                     extproc('s1_VehiclePerformance_GetBy+
     D                                     DateResultStart')
     D  userdata                       *   value
     D  depth                        10I 0 value
     D  namespace                  1024A   varying const
     D  name                       1024A   varying const
     D  path                      24576A   varying const
     D  attrs                          *   dim(32767)
     D                                     const options(*varsize)
     D s1_VehiclePerformance_GetByDateResultEnd...
     D                 PR
     D                                     extproc('s1_VehiclePerformance_GetBy+
     D                                     DateResultEnd')
     D  userdata                       *   value
     D  depth                        10I 0 value
     D  namespace                  1024A   varying const
     D  name                       1024A   varying const
     D  path                      24576A   varying const
     D  value                     65535A   varying const
     D  attrs                          *   dim(32767)
     D                                     const options(*varsize)
     D s1_EntryStart_of_s1_VehiclePerformance_GetByD...
     D ateResult...
     D                 PR
     D                                     extproc('s1_EntryStart_of_s1_Vehicle+
     D                                     Performance_GetByDateResult')
     D  userdata                       *   value
     D  depth                        10I 0 value
     D  namespace                  1024A   varying const
     D  name                       1024A   varying const
     D  path                      24576A   varying const
     D  attrs                          *   dim(32767)
     D                                     const options(*varsize)
     D s1_EntryEnd_of_s1_VehiclePerformance_GetByDat...
     D eResult...
     D                 PR
     D                                     extproc('s1_EntryEnd_of_s1_VehiclePe+
     D                                     rformance_GetByDateResult')
     D  userdata                       *   value
     D  depth                        10I 0 value
     D  namespace                  1024A   varying const
     D  name                       1024A   varying const
     D  path                      24576A   varying const
     D  value                     65535A   varying const
     D  attrs                          *   dim(32767)
     D                                     const options(*varsize)
      *
      *   SOAP message: Envelope
     D SOAPMessage_Envelope...
     D                 PR                  extproc('+
     D                                     SOAPMessage_Envelope+
     D                                     ')
     D   userdata                      *   value
     D   depth                       10I 0 value
     D   namespace                 1024A   varying const
     D   name                      1024A   varying const
     D   path                     24576A   varying const
     D   attrs                         *   dim(32767)
     D                                     const options(*varsize)
      *
      *   SOAP message: fault information
     D SOAPMessage_FaultStart...
     D                 PR                  extproc('+
     D                                     SOAPMessage_FaultStart+
     D                                     ')
     D   userdata                      *   value
     D   depth                       10I 0 value
     D   namespace                 1024A   varying const
     D   name                      1024A   varying const
     D   path                     24576A   varying const
     D   attrs                         *   dim(32767)
     D                                     const options(*varsize)
      *
      *   SOAP message: fault information
     D SOAPMessage_FaultEnd...
     D                 PR                  extproc('+
     D                                     SOAPMessage_FaultEnd+
     D                                     ')
     D   userdata                      *   value
     D   depth                       10I 0 value
     D   namespace                 1024A   varying const
     D   name                      1024A   varying const
     D   path                     24576A   varying const
     D   value                    65535A   varying const
     D   attrs                         *   dim(32767)
     D                                     const options(*varsize)
      *
      *   SOAP message: fault details
     D SOAPMessage_FaultDetailStart...
     D                 PR                  extproc('+
     D                                     SOAPMessage_FaultDetailStart+
     D                                     ')
     D   userdata                      *   value
     D   depth                       10I 0 value
     D   namespace                 1024A   varying const
     D   name                      1024A   varying const
     D   path                     24576A   varying const
     D   attrs                         *   dim(32767)
     D                                     const options(*varsize)
      *
      *   SOAP message: fault details
     D SOAPMessage_FaultDetailEnd...
     D                 PR                  extproc('+
     D                                     SOAPMessage_FaultDetailEnd+
     D                                     ')
     D   userdata                      *   value
     D   depth                       10I 0 value
     D   namespace                 1024A   varying const
     D   name                      1024A   varying const
     D   path                     24576A   varying const
     D   value                    65535A   varying const
     D   attrs                         *   dim(32767)
     D                                     const options(*varsize)
      *
      *   SOAP message: NULL callback procedure
     D SOAPMessage_NULLStart...
     D                 PR                  extproc('+
     D                                     SOAPMessage_NULL+
     D                                     ')
     D   userdata                      *   value
     D   depth                       10I 0 value
     D   namespace                 1024A   varying const
     D   name                      1024A   varying const
     D   path                     24576A   varying const
     D   value                    65535A   varying const
     D   attrs                         *   dim(32767)
     D                                     const options(*varsize)
      *
      *   SOAP message: NULL callback procedure
     D SOAPMessage_NULLEnd...
     D                 PR                  extproc('+
     D                                     SOAPMessage_NULLEnd+
     D                                     ')
     D   userdata                      *   value
     D   depth                       10I 0 value
     D   namespace                 1024A   varying const
     D   name                      1024A   varying const
     D   path                     24576A   varying const
     D   value                    65535A   varying const
     D   attrs                         *   dim(32767)
     D                                     const options(*varsize)
      *
      * ------------------------------------
      *  Global fields & constants
      * ------------------------------------
      *
      *   HTTP debug log settings
     D g_httpDebug     DS                  qualified
     D  status                         N   inz
     D  fileName                    500A   inz varying
      *
      *   Proxy server to use
     D g_proxy         DS                  qualified
     D  server                      256A   inz
     D  port                         10I 0 inz
      *
      *   Web service endpoint
     D g_url           S          32767A   varying inz(cURL)
      *
      *   Switch for AXIS bug AXIS-2095
     D g_isAXIS_2095   S               N   inz(cFalse)
      *
      *   SOAP error information
     D g_soapFault     DS                  likeds(wsdl_soap_Fault_t) inz
      *
      *   User callback to supply login information
      *   Returns WSDL_SUCCESS if successful, WSDL_ERROR upon error.
     D g_getLoginData  S               *   procptr inz
      *
    R *getLoginData...
    R *                PR            10I 0
    R *                                    extproc(g_getLoginData)
    R * i_authType                   14A          const  varying
    R * i_realm                     126A          const  varying
    R * i_numAttempts                10I 0        const
    R * o_user                       50A                 varying
    R * o_password                   50A                 varying
      *
      *   Web service endpoint as specified in the WSDL file.
     D cURL            C                   'https://www.truck-pc.net/WebService+
     D                                     s/FleetWatcher/Reports/V1_9/ReportsS+
     D                                     ervice.asmx'
      *
      * =====================================================================
      * Operation: tns:VehiclePerformance_GetByDate
      * Returns  : tns_VehiclePerformance_GetByDateResponse
      * =====================================================================
     P ReportsServiceBinding_v2_0_VehiclePerformance...
     P _GetByDate...
     P                 B                   export
     D ReportsServiceBinding_v2_0_VehiclePerformance...
     D _GetByDate...
     D                 PI                  likeds(tns_VehiclePerformance_GetB...
     D                                     yDateResponse_t)
     D  i_tns_VehiclePerformance_GetByDate...
     D                                     likeds(tns_VehiclePerformance_GetB...
     D                                     yDate_t)
     D                                     const
     D  o_msg                       128A   varying
      *
      *  Return value
     D rtnValue        DS                  likeds(tns_VehiclePerformance_GetB...
     D                                     yDateResponse_t)
     D                                     inz
      *
      *  Local fields
     D isUnexpectedError...
     D                 S               N   inz(cFalse)
     D request         S          32767A   varying inz
     D rc              S             10I 0 inz
     D rcvm0200        DS                  likeds(rcvm0200_t ) inz
     D msg             DS                  likeds(msg_t      ) inz
     D headers         DS                  likeds(headers_t  ) inz
      *
      *  Login helper fields
     D rc2             S             10I 0 inz
     D err             S             10I 0 inz
     D lastErr         S             10I 0 inz
     D authType        S             14A   inz varying
     D basic           S               N   inz
     D digest          S               N   inz
     D realm           S            124A   inz
     D numAttempts     S             10I 0 inz
     D userid          S             50A   inz varying
     D password        S             50A   inz varying
      *
      *  Array iterator fields
     D X_A1            S             10I 0 inz
     D X_A2            S             10I 0 inz
      *
     D userData        DS                  likeds(tns_VehiclePerformance_GetB...
     D                                     yDateResponse_t)
     D                                     inz
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         o_msg = '';

         // Initialize map to manage <multiRef> elements
         MultiRef_new();

         // Enable/disable HTTP debug log
 B01     if (g_httpDebug.status = *ON);
 B02        if (g_httpDebug.fileName <> '');
               http_debug(*ON: g_httpDebug.fileName);
 X02        else;
               http_debug(*ON);
 E02        endif;
 X01     else;
            http_debug(*OFF);
 E01     endif;

         // Set proxy server to use
 B01     if (g_proxy.server <> '');
            http_setproxy(g_proxy.server: g_proxy.port);
 X01     else;
            http_setproxy('': 0);
 E01     endif;

         // Set CCSID for POST data according
         // to the encoding of the SOAP envelope
         HTTP_SetCCSIDs(1208: HTTP_EBCDIC);   // 1208 is the CCSID of UTF-8

         request =
            '<?xml version="1.0" encoding="UTF-8"?>'                     +
            '<soapenv:Envelope'                                          +
            ' xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";' +
            ' xmlns:s1="http://fwapi.DriverTech.com/CommonTypes/2009/04";'
             +
            ' xmlns:tns="http://fwapi.DriverTech.com/ReportsService_v2";' +
            '>'                                                          +
            '<soapenv:Body>'                                             +
            '<tns:VehiclePerformance_GetByDate>' +
            '';
         for X_A2 = 1 to i_tns_VehiclePerformance_GetByDate.TruckPCBase.x;
            request = request +
            '<s1:TruckPCBase>' +
            '<s1:TruckName>' +
            Marshaller_toString(
               i_tns_VehiclePerformance_GetByDate.TruckPCBase.item(X_A2).Truc...
               kName) +
            '</s1:TruckName>' +
            '</s1:TruckPCBase>' +
               '';
         endfor;
         request = request +
            '<tns:BatchSize>' +
         Marshaller_toInt(
            i_tns_VehiclePerformance_GetByDate.BatchSize) +
            '</tns:BatchSize>' +
            '<tns:EndDate>' +
         Marshaller_toDateTime(
            i_tns_VehiclePerformance_GetByDate.EndDate) +
            '</tns:EndDate>' +
            '<tns:QueryByRecordDate>' +
         Marshaller_toBoolean(
            i_tns_VehiclePerformance_GetByDate.QueryByRecordDate) +
            '</tns:QueryByRecordDate>' +
            '<tns:StartDate>' +
         Marshaller_toDateTime(
            i_tns_VehiclePerformance_GetByDate.StartDate) +
            '</tns:StartDate>' +
            '</tns:VehiclePerformance_GetByDate>' +
            '</soapenv:Body>'                                            +
            '</soapenv:Envelope>';

         // Clear SOAP error code
         clear g_soapFault;

         // eXpat: Enables namespaces
         http_xmlns(*ON);

         // HTTPAPI: Enables additional headers
         http_xproc(HTTP_POINT_ADDL_HEADER
                    : %paddr('HTTP_setContentTypeAndSOAPAction')
                    : %addr(headers));

         headers.contentType = 'text/xml';
         headers.soapAction  = 'http://fwapi.DriverTech.com/ReportsService+
                                _v2/VehiclePerformance_GetByDate';

         // eXpat: Post request and parse response
         monitor;
 B01        dou (err <> HTTP_NDAUTH and err <> HTTP_PXNDAUTH);
 B02           if (err <> lastErr);
                  numAttempts = 1;
                  lastErr = err;
 E02           endif;
               rc = http_post_xml(g_url
                                  : %addr(request) + 2
                                  : %len(%trimR(request))
                                  : %paddr('SOAPMessage_Envelope')
                                  : *NULL
                                  : %addr(userData)
                                  : HTTP_TIMEOUT
                                  : HTTP_USERAGENT
                                  : '');

               // The first time we request a document that requires user/password
               // it will return a HTTP_NDAUTH error.
 B02           if (rc <> 1);
                  http_error(err);
 B03              if (err = HTTP_NDAUTH or err = HTTP_PXNDAUTH);
 B04                 if (g_getLoginData = *NULL);
                        leave;
 E04                 endif;

                     numAttempts = numAttempts + 1;

 B04                 if (err = HTTP_NDAUTH);
                        http_getauth(basic: digest: realm);
                        authType = WSDL_AUTH_TYPE_HTTP;
 X04                 else;
                        http_proxy_getauth(basic: realm);
                        authType = WSDL_AUTH_TYPE_PROXY;
 E04                 endif;

                     rc2 = getLoginData(authType: realm
                                        : numAttempts: userid: password);
 B04                 if (rc2 <> 1);
                        userid = '';
                        password = '';
                        leave;
 E04                 endif;

 B04                 if (err = HTTP_NDAUTH);
 B05                    if (digest);
                           http_setAuth(HTTP_AUTH_MD5_DIGEST
                                        : userid: password);
 X05                    else;
                           http_setAuth(HTTP_AUTH_BASIC
                                        : userid: password);
 E05                    endif;
 X04                 else;
 B05                    if (digest);
                           http_proxy_setAuth(HTTP_AUTH_MD5_DIGEST
                                              : userid: password);
 X05                    else;
                           http_proxy_setAuth(HTTP_AUTH_BASIC
                                              : userid: password);
 E05                    endif;
 E04                 endif;

                     userid = '';
                     password = '';
 E03              endif;
 X02           else;
                  err = 0;
 E02           endif;
 E01        enddo;
         on-error;
            userid = '';
            password = '';
            isUnexpectedError = cTrue;
            rcvm0200 = f_rcvPgmMsg(cMsg_Any: *: cMsg_Act_Same: 0
                                   : cMsg_Same: cMsg_ToMyself);
            msg = f_cvtRcvMsgToMsg(rcvm0200);
            g_soapFault.httpError.no   = WSDL_HTTP_ERROR_UNEXPECTED;
            g_soapFault.httpError.text = f_rtvMsgText(msg);
            rc    = g_soapFault.httpError.no;
            o_msg = g_soapFault.httpError.text;
         endmon;

 B01     if (not isUnexpectedError);
            g_soapFault.httpError.no = rc;
 B02        if (g_soapFault.httpError.no <> 1);
               g_soapFault.httpError.text = http_error();
 B03           if (g_soapFault.httpError.text <> '');
                  o_msg = g_soapFault.httpError.text;
 X03           else;
                  o_msg = ReportsServiceBinding_v2_0_SoapError_getText();
 E03           endif;
               clear rtnValue;
 X02        else;
               o_msg = '';
               rtnValue = userData;
 E02        endif;
 E02     endif;

 B02     if (not MultiRef_isNull());
            MultiRef_delete();
 E02     endif;

         return rtnValue;

      /end-free
      *
     P ReportsServiceBinding_v2_0_VehiclePerformance...
     P _GetByDate...
     P                 E
      *
      *
      * ==================================================================
      * Return value: tns:VehiclePerformance_GetByDateResponse
      * ==================================================================
     P tns_VehiclePerformance_GetByDateResponseStart...
     P                 B
     D tns_VehiclePerformance_GetByDateResponseStart...
     D                 PI
     D  userdata                       *   value
     D  depth                        10I 0 value
     D  namespace                  1024A   varying const
     D  name                       1024A   varying const
     D  path                      24576A   varying const
     D  attrs                          *   dim(32767)
     D                                     const options(*varsize)
      *
     D tns_VehiclePerformance_GetByDateResponse...
     D                 DS                  likeds(tns_VehiclePerformance_GetB...
     D                                     yDateResponse_t)
     D                                     based(userdata)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         if (depth = 1 and
              name = 'VehiclePerformance_GetByDateResponse'
              );
            if (MultiRef_isReference(attrs));
               MultiRef_put(
                  attrs
                  : http_parser_get_userdata()
                  : depth
                  : namespace
                  : name
                  : path
                  : http_parser_get_start_cb()
                  : http_parser_get_end_cb());
               return;
            endif;
         endif;

         select;
         when (depth = 2
                and
                name = 'VehiclePerformance_GetByDateResult'
                and
                namespace = 'http://fwapi.DriverTech.com/CommonTypes/2009/04');
            http_parser_switch_cb(
               %addr(tns_VehiclePerformance_GetByDateResponse.VehiclePerforma...
               nce_GetByDateResult)
               : %paddr('s1_VehiclePerformance_GetByDateResultStart')
               : %paddr('s1_VehiclePerformance_GetByDateResultEnd'));
            return;

         when (depth = 2
                and
                name = 'TotalRowCount'
                and
                namespace = 'http://fwapi.DriverTech.com/ReportsService_v2');
            // Processed in corresponding END procedure
            return;

         endsl;

         return;

      /end-free
      *
     P tns_VehiclePerformance_GetByDateResponseStart...
     P                 E
      *
      * ==================================================================
      * Return value: tns:VehiclePerformance_GetByDateResponse
      * ==================================================================
     P tns_VehiclePerformance_GetByDateResponseEnd...
     P                 B
     D tns_VehiclePerformance_GetByDateResponseEnd...
     D                 PI
     D  userdata                       *   value
     D  depth                        10I 0 value
     D  namespace                  1024A   varying const
     D  name                       1024A   varying const
     D  path                      24576A   varying const
     D  value                     65535A   varying const
     D  attrs                          *   dim(32767)
     D                                     const options(*varsize)
      *
     D tns_VehiclePerformance_GetByDateResponse...
     D                 DS                  likeds(tns_VehiclePerformance_GetB...
     D                                     yDateResponse_t)
     D                                     based(userdata)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free


         select;
         when (name = 'TotalRowCount'
                and
                namespace = 'http://fwapi.DriverTech.com/ReportsService_v2');
            tns_VehiclePerformance_GetByDateResponse.TotalRowCount =
               UnMarshaller_toInt(value);

         endsl;

         return;

      /end-free
      *
     P tns_VehiclePerformance_GetByDateResponseEnd...
     P                 E
      *
      * ==================================================================
      * Return value: s1:VehiclePerformance_GetByDateResult
      * ==================================================================
     P s1_VehiclePerformance_GetByDateResultStart...
     P                 B
     D s1_VehiclePerformance_GetByDateResultStart...
     D                 PI
     D  userdata                       *   value
     D  depth                        10I 0 value
     D  namespace                  1024A   varying const
     D  name                       1024A   varying const
     D  path                      24576A   varying const
     D  attrs                          *   dim(32767)
     D                                     const options(*varsize)
      *
     D s1_VehiclePerformance_GetByDateResult...
     D                 DS                  likeds(s1_VehiclePerformanceReport_t)
     D                                     based(userdata)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         if (depth = 1 and
              name = 'VehiclePerformance_GetByDateResult'
              );
            if (MultiRef_isReference(attrs));
               MultiRef_put(
                  attrs
                  : http_parser_get_userdata()
                  : depth
                  : namespace
                  : name
                  : path
                  : http_parser_get_start_cb()
                  : http_parser_get_end_cb());
               return;
            endif;
         endif;

         select;
         when (depth = 2
                and
                name = 'Entry'
                and
                namespace = 'http://fwapi.DriverTech.com/CommonTypes/2009/04');
            http_parser_switch_cb(
               %addr(s1_VehiclePerformance_GetByDateResult.Entry)
               : %paddr('s1_EntryStart_of_s1_VehiclePerformance_GetByDateResult+
               ')
               : %paddr('s1_EntryEnd_of_s1_VehiclePerformance_GetByDateResult')+
               );
            return;

         endsl;

         return;

      /end-free
      *
     P s1_VehiclePerformance_GetByDateResultStart...
     P                 E
      *
      * ==================================================================
      * Return value: s1:VehiclePerformance_GetByDateResult
      * ==================================================================
     P s1_VehiclePerformance_GetByDateResultEnd...
     P                 B
     D s1_VehiclePerformance_GetByDateResultEnd...
     D                 PI
     D  userdata                       *   value
     D  depth                        10I 0 value
     D  namespace                  1024A   varying const
     D  name                       1024A   varying const
     D  path                      24576A   varying const
     D  value                     65535A   varying const
     D  attrs                          *   dim(32767)
     D                                     const options(*varsize)
      *
     D s1_VehiclePerformance_GetByDateResult...
     D                 DS                  likeds(s1_VehiclePerformanceReport_t)
     D                                     based(userdata)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free


         select;
         endsl;

         return;

      /end-free
      *
     P s1_VehiclePerformance_GetByDateResultEnd...
     P                 E
      *
      * ==================================================================
      * Return value: s1:Entry
      * ==================================================================
     P s1_EntryStart_of_s1_VehiclePerformance_GetByD...
     P ateResult...
     P                 B
     D s1_EntryStart_of_s1_VehiclePerformance_GetByD...
     D ateResult...
     D                 PI
     D  userdata                       *   value
     D  depth                        10I 0 value
     D  namespace                  1024A   varying const
     D  name                       1024A   varying const
     D  path                      24576A   varying const
     D  attrs                          *   dim(32767)
     D                                     const options(*varsize)
      *
     D s1_Entry        DS                  likeds(s1_RpgArrayOfEntry_t)
     D                                     based(userdata)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         if (depth = 1 and
              name = 'Entry'
              );
            if (MultiRef_isReference(attrs));
               MultiRef_put(
                  attrs
                  : http_parser_get_userdata()
                  : depth
                  : namespace
                  : name
                  : path
                  : http_parser_get_start_cb()
                  : http_parser_get_end_cb());
               return;
            endif;
         endif;

         select;
         when (name = 'Entry'
                and
                namespace = 'http://fwapi.DriverTech.com/CommonTypes/2009/04');
            s1_Entry.x = s1_Entry.x + 1;

         endsl;

         return;

      /end-free
      *
     P s1_EntryStart_of_s1_VehiclePerformance_GetByD...
     P ateResult...
     P                 E
      *
      * ==================================================================
      * Return value: s1:Entry
      * ==================================================================
     P s1_EntryEnd_of_s1_VehiclePerformance_GetByDat...
     P eResult...
     P                 B
     D s1_EntryEnd_of_s1_VehiclePerformance_GetByDat...
     D eResult...
     D                 PI
     D  userdata                       *   value
     D  depth                        10I 0 value
     D  namespace                  1024A   varying const
     D  name                       1024A   varying const
     D  path                      24576A   varying const
     D  value                     65535A   varying const
     D  attrs                          *   dim(32767)
     D                                     const options(*varsize)
      *
     D s1_Entry        DS                  likeds(s1_RpgArrayOfEntry_t)
     D                                     based(userdata)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free


         select;
         when (g_isAXIS_2095
                and
                name = 'VehiclePerformance_GetByDateResult'
                and
                namespace = 'http://fwapi.DriverTech.com/CommonTypes/2009/04')
                or (not g_isAXIS_2095
                and
                name = 'Entry'
                and
                namespace = 'http://fwapi.DriverTech.com/CommonTypes/2009/04');
            s1_Entry.DTScanReportEntry(s1_Entry.x) =
               UnMarshaller_toAnyType(value);

         endsl;

         return;

      /end-free
      *
     P s1_EntryEnd_of_s1_VehiclePerformance_GetByDat...
     P eResult...
     P                 E
      *
      * =====================================================================
      *   Sets the content type and the SOAP action of the POST message.
      * =====================================================================
     P HTTP_setContentTypeAndSOAPAction...
 ERR P                 B
      *
     D HTTP_setContentTypeAndSOAPAction...
     D                 PI
     D  o_addlHdrs                 1024A          varying
     D  i_pUserData                    *   value
      *
      *  User Data
     D headers         DS                  likeds(headers_t) based(i_pUserData)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         o_addlHdrs = cHTTP_HEADER_CONTENT_TYPE + ': ' +
                      headers.contentType + cEBCDIC_CRLF +
                      cHTTP_HEADER_SOAP_ACTION + ': ' +
                      headers.soapAction + cEBCDIC_CRLF;

      /end-free
      *
     P HTTP_setContentTypeAndSOAPAction...
     P                 E
      *
      * =====================================================================
      *   SOAP message: Envelope
      * =====================================================================
     P SOAPMessage_Envelope...
     P                 B
      *
     D SOAPMessage_Envelope...
     D                 PI
     D   userdata                      *   value
     D   depth                       10I 0 value
     D   namespace                 1024A   varying const
     D   name                      1024A   varying const
     D   path                     24576A   varying const
     D   attrs                         *   dim(32767)
     D                                     const options(*varsize)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         if (path <> '/Envelope/Body');
            return;
         endif;

         select;
         when (name = 'Fault');
            http_parser_switch_cb(
               %addr(g_soapFault)
               : %paddr('SOAPMessage_FaultStart')
               : %paddr('SOAPMessage_FaultEnd'));
           return;

         when (name = 'multiRef' and MultiRef_isData(attrs));
            http_parser_switch_cb(
               *NULL
               : MultiRef_getStartCallback()
               : MultiRef_getEndCallback());
            return;

         other;
            http_parser_switch_cb(
               userdata
               : %paddr('tns_VehiclePerformance_GetByDateResponseStart')
               : %paddr('tns_VehiclePerformance_GetByDateResponseEnd'));
           return;
         endsl;

         return;

      /end-free
      *
     P SOAPMessage_Envelope...
     P                 E
      *
      * =====================================================================
      *   SOAP message: fault information
      * =====================================================================
     P SOAPMessage_FaultStart...
     P                 B
      *
     D SOAPMessage_FaultStart...
     D                 PI
     D   userdata                      *   value
     D   depth                       10I 0 value
     D   namespace                 1024A   varying const
     D   name                      1024A   varying const
     D   path                     24576A   varying const
     D   attrs                         *   dim(32767)
     D                                     const options(*varsize)
      *
     D Fault...
     D                 DS                  based(userdata)
     D                                     likeds(wsdl_soap_Fault_t)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         select;
         when (name = 'detail');
           http_parser_switch_cb(%addr(Fault.detail)
                                 : %paddr('SOAPMessage_FaultDetailStart')
                                 : %paddr('SOAPMessage_FaultDetailEnd'));
         endsl;

      /end-free
      *
     P SOAPMessage_FaultStart...
     P                 E
      *
      * =====================================================================
      *   SOAP message: fault information
      * =====================================================================
     P SOAPMessage_FaultEnd...
     P                 B
      *
     D SOAPMessage_FaultEnd...
     D                 PI
     D   userdata                      *   value
     D   depth                       10I 0 value
     D   namespace                 1024A   varying const
     D   name                      1024A   varying const
     D   path                     24576A   varying const
     D   value                    65535A   varying const
     D   attrs                         *   dim(32767)
     D                                     const options(*varsize)
      *
     D Fault...
     D                 DS                  based(userdata)
     D                                     likeds(wsdl_soap_Fault_t)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         select;
         when (name = 'faultcode');
            Fault.faultcode = value;
         when (name = 'faultstring');
            Fault.faultstring = value;
         endsl;

      /end-free
      *
     P SOAPMessage_FaultEnd...
     P                 E
      *
      * =====================================================================
      *   SOAP message: fault details
      * =====================================================================
     P SOAPMessage_FaultDetailStart...
     P                 B
      *
     D SOAPMessage_FaultDetailStart...
     D                 PI
     D   userdata                      *   value
     D   depth                       10I 0 value
     D   namespace                 1024A   varying const
     D   name                      1024A   varying const
     D   path                     24576A   varying const
     D   attrs                         *   dim(32767)
     D                                     const options(*varsize)
      *
     D detail...
     D                 DS                  based(userdata)
     D                                     likeds(wsdl_soap_FaultDetail_t)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         select;
         endsl;

      /end-free
      *
     P SOAPMessage_FaultDetailStart...
     P                 E
      *
      * =====================================================================
      *   SOAP message: fault details
      * =====================================================================
     P SOAPMessage_FaultDetailEnd...
     P                 B
      *
     D SOAPMessage_FaultDetailEnd...
     D                 PI
     D   userdata                      *   value
     D   depth                       10I 0 value
     D   namespace                 1024A   varying const
     D   name                      1024A   varying const
     D   path                     24576A   varying const
     D   value                    65535A   varying const
     D   attrs                         *   dim(32767)
     D                                     const options(*varsize)
      *
     D detail...
     D                 DS                  based(userdata)
     D                                     likeds(wsdl_soap_FaultDetail_t)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         select;
         when (name = 'hostname');
            detail.hostname = value;
         endsl;

      /end-free
      *
     P SOAPMessage_FaultDetailEnd...
     P                 E
      *
      * =====================================================================
      *   SOAP message: NULL callback procedure
      * =====================================================================
     P SOAPMessage_NULLStart...
     P                 B
      *
     D SOAPMessage_NULLStart...
     D                 PI
     D   userdata                      *   value
     D   depth                       10I 0 value
     D   namespace                 1024A   varying const
     D   name                      1024A   varying const
     D   path                     24576A   varying const
     D   value                    65535A   varying const
     D   attrs                         *   dim(32767)
     D                                     const options(*varsize)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         p_assert(cFalse: 'Did never expect to get here');

         return;

      /end-free
      *
     P SOAPMessage_NULLStart...
     P                 E
      *
      * =====================================================================
      *   SOAP message: NULL callback procedure
      * =====================================================================
     P SOAPMessage_NULLEnd...
     P                 B
      *
     D SOAPMessage_NULLEnd...
     D                 PI
     D   userdata                      *   value
     D   depth                       10I 0 value
     D   namespace                 1024A   varying const
     D   name                      1024A   varying const
     D   path                     24576A   varying const
     D   value                    65535A   varying const
     D   attrs                         *   dim(32767)
     D                                     const options(*varsize)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         p_assert(cFalse: 'Did never expect to get here');

         return;

      /end-free
      *
     P SOAPMessage_NULLEnd...
     P                 E
      *
      * =====================================================================
      *   Registers an user callback procedure, that is called whenever
      *   a web service requires user authentification.
      * =====================================================================
     P ReportsServiceBinding_v2_0_registerLoginCallback...
     P                 B                   export
      *
     D ReportsServiceBinding_v2_0_registerLoginCallback...
     D                 PI
  D  D  i_pLoginProc                   *   value  procptr
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         g_getLoginData = i_pLoginProc;

         return;

      /end-free
      *
     P ReportsServiceBinding_v2_0_registerLoginCallback...
     P                 E
      *
      * =====================================================================
      *   Http: Returns the last HTTP error (code) that occurred.
      * =====================================================================
     P ReportsServiceBinding_v2_0_HttpError_getCode...
     P                 B                   export
      *
     D ReportsServiceBinding_v2_0_HttpError_getCode...
     D                 PI                  like(wsdl_http_ErrorNo_t  )
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return g_soapFault.httpError.no;

      /end-free
      *
     P ReportsServiceBinding_v2_0_HttpError_getCode...
     P                 E
      *
      * =====================================================================
      *   Http: Returns the last HTTP error (text) that occurred.
      * =====================================================================
     P ReportsServiceBinding_v2_0_HttpError_getText...
     P                 B                   export
      *
     D ReportsServiceBinding_v2_0_HttpError_getText...
     D                 PI                  like(wsdl_http_ErrorText_t)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return g_soapFault.httpError.text;

      /end-free
      *
     P ReportsServiceBinding_v2_0_HttpError_getText...
     P                 E
      *
      * =====================================================================
      *   Soap: Returns the last SOAP error (code) that occurred.
      * =====================================================================
     P ReportsServiceBinding_v2_0_SoapError_getCode...
     P                 B                   export
      *
     D ReportsServiceBinding_v2_0_SoapError_getCode...
     D                 PI                  like(wsdl_soap_faultcode_t  )
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return g_soapFault.faultcode;

      /end-free
      *
     P ReportsServiceBinding_v2_0_SoapError_getCode...
     P                 E
      *
      * =====================================================================
      *   Soap: Returns the last SOAP error (text) that occurred.
      * =====================================================================
     P ReportsServiceBinding_v2_0_SoapError_getText...
     P                 B                   export
      *
     D ReportsServiceBinding_v2_0_SoapError_getText...
     D                 PI                  like(wsdl_soap_faultstring_t)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return g_soapFault.faultstring;

      /end-free
      *
     P ReportsServiceBinding_v2_0_SoapError_getText...
     P                 E
      *
      * =====================================================================
    R *   *** private/experimental ***
      *   Enables/disables a workaround for Web services that are driven
      *   by Axis and that are affected by the AXIS-2095 bug.
      *   Export this procedure if you really need it.
      * =====================================================================
     P ReportsServiceBinding_v2_0_enableAxis2095...
     P                 B
      *
     D ReportsServiceBinding_v2_0_enableAxis2095...
     D                 PI
     D  i_isEnabled                    N   const
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         g_isAXIS_2095 = i_isEnabled;

         return;

      /end-free
      *
     P ReportsServiceBinding_v2_0_enableAxis2095...
     P                 E
      *
      * =====================================================================
      *   Web service: Enables/disables the debug log of HTTP API
      * =====================================================================
     P ReportsServiceBinding_v2_0_setHttpDebug...
     P                 B                   export
      *
     D ReportsServiceBinding_v2_0_setHttpDebug...
     D                 PI
     D   i_status                      N   const
     D   i_fileName                 500A   const  varying  options(*nopass)
      *
      *  Parameter positions
     D p_fileName      C                   2
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         g_httpDebug.status = i_status;

         if (%parms() >= p_fileName);
            g_httpDebug.fileName = i_fileName;
         else;
            g_httpDebug.fileName = '';
         endif;

         return;

      /end-free
      *
     P ReportsServiceBinding_v2_0_setHttpDebug...
     P                 E
      *
      * =====================================================================
      *   Web service: Sets the proxy server to use for the connection
      * =====================================================================
     P ReportsServiceBinding_v2_0_setProxy...
     P                 B                   export
      *
     D ReportsServiceBinding_v2_0_setProxy...
     D                 PI
     D  i_server                    256A   const
     D  i_port                       10I 0 const
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         g_proxy.server = i_server;
         g_proxy.port   = i_port;

         return;

      /end-free
      *
     P ReportsServiceBinding_v2_0_setProxy...
     P                 E
      *
      * =====================================================================
      *   Web service: Returns the endpoint of the Web service
      * =====================================================================
     P ReportsServiceBinding_v2_0_getEndpoint...
     P                 B                   export
      *
     D ReportsServiceBinding_v2_0_getEndpoint...
     D                 PI         32767A          varying
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         return g_url;

      /end-free
      *
     P ReportsServiceBinding_v2_0_getEndpoint...
     P                 E
      *
      * =====================================================================
      *   Web service: Sets the endpoint of the Web service
      * =====================================================================
     P ReportsServiceBinding_v2_0_setEndpoint...
     P                 B                   export
      *
     D ReportsServiceBinding_v2_0_setEndpoint...
     D                 PI
     D  i_url                     32767A   const varying  options(*varsize)
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         g_url = %subst(i_url: 1: %len(i_url));

         return;

      /end-free
      *
     P ReportsServiceBinding_v2_0_setEndpoint...
     P                 E
      *
      * =====================================================================
      *   Web service: Returns the host name of the Web Service endpoint
      * =====================================================================
     P ReportsServiceBinding_v2_0_getHost...
     P                 B                   export
      *
     D ReportsServiceBinding_v2_0_getHost...
     D                 PI         32767A          varying
      *
     D tmpUrl          S                   like(url_t ) inz
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         tmpUrl = URL_new(g_url);

         return URL_getHost(tmpUrl);

      /end-free
      *
     P ReportsServiceBinding_v2_0_getHost...
     P                 E
      *
      * =====================================================================
      *   Web service: Sets the host name of the Web service endpoint
      * =====================================================================
     P ReportsServiceBinding_v2_0_setHost...
     P                 B                   export
      *
     D ReportsServiceBinding_v2_0_setHost...
     D                 PI
     D  i_host                    32767A   const varying  options(*varsize)
      *
     D tmpUrl          S                   like(url_t ) inz
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         tmpUrl = URL_new(g_url);
         URL_setHost(tmpUrl: %subst(i_host: 1: %len(i_host)));
         g_url = URL_toString(tmpUrl);

         return;

      /end-free
      *
     P ReportsServiceBinding_v2_0_setHost...
     P                 E
      *
      * =====================================================================
      *   Web service: Returns the port of the Web Service endpoint
      * =====================================================================
     P ReportsServiceBinding_v2_0_getPort...
     P                 B                   export
      *
     D ReportsServiceBinding_v2_0_getPort...
     D                 PI            10I 0
      *
     D tmpUrl          S                   like(url_t ) inz
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         tmpUrl = URL_new(g_url);

         return URL_getPort(tmpUrl);

      /end-free
      *
     P ReportsServiceBinding_v2_0_getPort...
     P                 E
      *
      * =====================================================================
      *   Web service: Sets the port of the Web service endpoint
      * =====================================================================
     P ReportsServiceBinding_v2_0_setPort...
     P                 B                   export
      *
     D ReportsServiceBinding_v2_0_setPort...
     D                 PI
     D  i_port                       10I 0 const
      *
     D tmpUrl          S                   like(url_t ) inz
      * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      /free

         tmpUrl = URL_new(g_url);
         URL_setPort(tmpUrl: i_port);
         g_url = URL_toString(tmpUrl);

         return;

      /end-free
      *
     P ReportsServiceBinding_v2_0_setPort...
     P                 E
      *

Attachment: wstst1.PDF
Description: wstst1.PDF

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