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 -----------------------------------------------------------------------