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