//This code is based on a singleton pattern developed by Douglas Crockford (commonly referred
//to as the 'module pattern').
//This pattern keeps your code out of the global namespace, provides publically addressable
//API methods, and supports protected or 'private' data and methods.
//
//     Usage Overview:
//     * Import the RIA scripts into all relevant html pages.
//     * Call the public web service api methods that are defined in the methods
//       module to initiate a web service call.
//     * Perform any action on the response via the callback _RESPONSE method.

//Setup the module's namespace (typically, the module namespace will be your domain name)
/*global JMT*/
if (!JMT) {
	var JMT = {};
}
JMT.JMTWebService = function(){
	//private variables and methods:
	//can be accessed only from within JMT.JMTWebService

	//each web service can provide multiple endpoints which correspond to Web Service Provider or Consumer classes in Jade
	var _endpoint = JMT.JMTWebService_EndPoints();
	var _namespace = 's1';

	var sessionHandler = {
		sessionID : null,
		onSessionTimeout : null
	};

	var initiateRequest = function(methodName,paramObject,callback,endpoint, preprocessorOverride, exceptionhandlerOverride){
		JMT.util.createRequest(methodName, paramObject, sessionHandler, endpoint, _namespace, callback, preprocessorOverride, exceptionhandlerOverride);
	};

	return {
		//the following section returns publicly accessable properties and methods
		//public variables can be accessed as this.myPublicProperty from within public methods
		//public methods can be accessed as JMT.JMTWebService.publicMethodName

		//Call this function to set a callback method that will be invoked in the event of
		//your session timing out. Presumably that method will want to tell the user that they
		//need to log in. Calling this function with a null parameter to unset the callback.
		//Warning: Setting a callback here when using a webservice that does not support session
		//handling will result in all return messages being sent to the set callback function.
		onSessionTimeout : function(callback){
			sessionHandler.onSessionTimeout = callback;
		},

		//the following methods provide a public api that can be used to initiate a web service call.
		//typically, the methods will be called as the result of a user generated event.
		//the response from the web service call will be passed back to the registered callback method,
		//by convention, this method name is the sender method name + _RESPONSE - the user should implement
		//appropriate response handling code in the _RESPONSE method.
		getEDIStatus: function(ediStatusRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   ediStatusRequest (WS_EDIStatusRequest)
			*/ 
			var obj = {};
			obj.ediStatusRequest = ediStatusRequest;
			initiateRequest('getEDIStatus', obj, _callback, _endpoint[0], preprocessorOverride, exceptionhandlerOverride);
		}, 

		sendEDI: function(ediRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   ediRequest (WS_SendEDIRequest)
			*/ 
			var obj = {};
			obj.ediRequest = ediRequest;
			initiateRequest('sendEDI', obj, _callback, _endpoint[0], preprocessorOverride, exceptionhandlerOverride);
		}, 

		changePassword: function(oldPass,newPass,newPass2,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   oldPass (String)
			   newPass (String)
			   newPass2 (String)
			*/ 
			var obj = {};
			obj.oldPass = oldPass;
			obj.newPass = newPass;
			obj.newPass2 = newPass2;
			initiateRequest('changePassword', obj, _callback, _endpoint[1], preprocessorOverride, exceptionhandlerOverride);
		}, 

		checkPermissions: function(checkPermRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   checkPermRequest (WS_CheckPermissionRequest)
			*/ 
			var obj = {};
			obj.checkPermRequest = checkPermRequest;
			initiateRequest('checkPermissions', obj, _callback, _endpoint[1], preprocessorOverride, exceptionhandlerOverride);
		}, 

		logon: function(userId,password,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   userId (String)
			   password (String)
			*/ 
			var obj = {};
			obj.userId = userId;
			obj.password = password;
			initiateRequest('logon', obj, _callback, _endpoint[1], preprocessorOverride, exceptionhandlerOverride);
		}, 

		logonAndChangePassword: function(userId,oldPass,newPass,newPass2,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   userId (String)
			   oldPass (String)
			   newPass (String)
			   newPass2 (String)
			*/ 
			var obj = {};
			obj.userId = userId;
			obj.oldPass = oldPass;
			obj.newPass = newPass;
			obj.newPass2 = newPass2;
			initiateRequest('logonAndChangePassword', obj, _callback, _endpoint[1], preprocessorOverride, exceptionhandlerOverride);
		}, 

		logonAsAnonymousUser: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('logonAsAnonymousUser', null, _callback, _endpoint[1], preprocessorOverride, exceptionhandlerOverride);
		}, 

		logonChangePasswordRequest: function(request,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   request (WS_LogonRequest)
			*/ 
			var obj = {};
			obj.request = request;
			initiateRequest('logonChangePasswordRequest', obj, _callback, _endpoint[1], preprocessorOverride, exceptionhandlerOverride);
		}, 

		logonWithRequest: function(request,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   request (WS_LogonRequest)
			*/ 
			var obj = {};
			obj.request = request;
			initiateRequest('logonWithRequest', obj, _callback, _endpoint[1], preprocessorOverride, exceptionhandlerOverride);
		}, 

		logout: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('logout', null, _callback, _endpoint[1], preprocessorOverride, exceptionhandlerOverride);
		}, 

		addNewContact: function(contact,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   contact (WS_ContactRequest)
			*/ 
			var obj = {};
			obj.contact = contact;
			initiateRequest('addNewContact', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		changeRecord: function(update,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   update (WS_UpdateRequestObject)
			*/ 
			var obj = {};
			obj.update = update;
			initiateRequest('changeRecord', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		deleteContact: function(contact,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   contact (WS_ContactRequest)
			*/ 
			var obj = {};
			obj.contact = contact;
			initiateRequest('deleteContact', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		doCargoChecks: function(cargoCheck,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   cargoCheck (WS_CargoCheckRequest)
			*/ 
			var obj = {};
			obj.cargoCheck = cargoCheck;
			initiateRequest('doCargoChecks', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		doCargoConfirmation: function(cargoConfirmation,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   cargoConfirmation (WS_CargoConfirmationRequest)
			*/ 
			var obj = {};
			obj.cargoConfirmation = cargoConfirmation;
			initiateRequest('doCargoConfirmation', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		doRunReport: function(reportRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   reportRequest (WS_ReportRunRequest)
			*/ 
			var obj = {};
			obj.reportRequest = reportRequest;
			initiateRequest('doRunReport', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		doSearch: function(query,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   query (WS_QueryRequestObject)
			*/ 
			var obj = {};
			obj.query = query;
			initiateRequest('doSearch', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getAboutContent: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getAboutContent', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getActiveVoyages: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getActiveVoyages', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getAttachments: function(cmObjectId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   cmObjectId (String)
			*/ 
			var obj = {};
			obj.cmObjectId = cmObjectId;
			initiateRequest('getAttachments', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getAvailabilityGrades: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getAvailabilityGrades', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getBulkReleaseStatus: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getBulkReleaseStatus', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getCargoChecks: function(cargoChecksRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   cargoChecksRequest (WS_CargoChecksRequest)
			*/ 
			var obj = {};
			obj.cargoChecksRequest = cargoChecksRequest;
			initiateRequest('getCargoChecks', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getCargoFilterSites: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getCargoFilterSites', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getCargoSubtypesForCargoType: function(cargoType,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   cargoType (Integer)
			*/ 
			var obj = {};
			obj.cargoType = cargoType;
			initiateRequest('getCargoSubtypesForCargoType', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getCargoTypes: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getCargoTypes', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getCarriers: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getCarriers', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getCommodities: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getCommodities', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getConsignees: function(consigneesRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   consigneesRequest (WS_ConsigneesRequest)
			*/ 
			var obj = {};
			obj.consigneesRequest = consigneesRequest;
			initiateRequest('getConsignees', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getConsigneesForSearch: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getConsigneesForSearch', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getConsignorsForSearch: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getConsignorsForSearch', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getCoolingTypes: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getCoolingTypes', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getCranesForVoyage: function(voyageId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   voyageId (String)
			*/ 
			var obj = {};
			obj.voyageId = voyageId;
			initiateRequest('getCranesForVoyage', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getCurrentTerminal: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getCurrentTerminal', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getCurrentVoyages: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getCurrentVoyages', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getCustomsAgents: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getCustomsAgents', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getEmailAddresses: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getEmailAddresses', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getEventRequestTypes: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getEventRequestTypes', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getEventStatuses: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getEventStatuses', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getEventTypes: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getEventTypes', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getFilterImexForSite: function(site,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   site (Integer)
			*/ 
			var obj = {};
			obj.site = site;
			initiateRequest('getFilterImexForSite', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getFormDefinition: function(formRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   formRequest (String)
			*/ 
			var obj = {};
			obj.formRequest = formRequest;
			initiateRequest('getFormDefinition', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getFormLayout: function(formaLayoutRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   formaLayoutRequest (String)
			*/ 
			var obj = {};
			obj.formaLayoutRequest = formaLayoutRequest;
			initiateRequest('getFormLayout', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getFreightForwarders: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getFreightForwarders', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getGlobalVoyageActual: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getGlobalVoyageActual', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getGlobalVoyageAllocated: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getGlobalVoyageAllocated', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getHatchForActualVoygage: function(voyageId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   voyageId (String)
			*/ 
			var obj = {};
			obj.voyageId = voyageId;
			initiateRequest('getHatchForActualVoygage', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getHazardDetails: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getHazardDetails', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getHelpFile: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getHelpFile', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getIMEXStatuses: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getIMEXStatuses', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getISOGroups: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getISOGroups', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getISOTypes: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getISOTypes', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getISOTypesForCargoType: function(cargoType,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   cargoType (Integer)
			*/ 
			var obj = {};
			obj.cargoType = cargoType;
			initiateRequest('getISOTypesForCargoType', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getJobsForVoyage: function(voyageId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   voyageId (String)
			*/ 
			var obj = {};
			obj.voyageId = voyageId;
			initiateRequest('getJobsForVoyage', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getLocationsForTerminalArea: function(terminalAreaId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   terminalAreaId (String)
			*/ 
			var obj = {};
			obj.terminalAreaId = terminalAreaId;
			initiateRequest('getLocationsForTerminalArea', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getLogGradesForSpecies: function(logSpeciesId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   logSpeciesId (String)
			*/ 
			var obj = {};
			obj.logSpeciesId = logSpeciesId;
			initiateRequest('getLogGradesForSpecies', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getLogLengthsForGrade: function(logGradeId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   logGradeId (String)
			*/ 
			var obj = {};
			obj.logGradeId = logGradeId;
			initiateRequest('getLogLengthsForGrade', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getLogLotForActualVoyage: function(voyageId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   voyageId (String)
			*/ 
			var obj = {};
			obj.voyageId = voyageId;
			initiateRequest('getLogLotForActualVoyage', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getLogSpeciesForOperator: function(operatorId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   operatorId (String)
			*/ 
			var obj = {};
			obj.operatorId = operatorId;
			initiateRequest('getLogSpeciesForOperator', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getLogTreatmentsForGrade: function(logGradeId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   logGradeId (String)
			*/ 
			var obj = {};
			obj.logGradeId = logGradeId;
			initiateRequest('getLogTreatmentsForGrade', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getLogTxnTypes: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getLogTxnTypes', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getLogTypesForGrade: function(logGradeId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   logGradeId (String)
			*/ 
			var obj = {};
			obj.logGradeId = logGradeId;
			initiateRequest('getLogTypesForGrade', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getLoggingOrganisations: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getLoggingOrganisations', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getNavigationMenu: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getNavigationMenu', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getOperatorGroups: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getOperatorGroups', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getOperators: function(operatorsRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   operatorsRequest (WS_OperatorsRequest)
			*/ 
			var obj = {};
			obj.operatorsRequest = operatorsRequest;
			initiateRequest('getOperators', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getOperatorsForSearch: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getOperatorsForSearch', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getOperatorsForVoyage: function(voyageCode,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   voyageCode (String)
			*/ 
			var obj = {};
			obj.voyageCode = voyageCode;
			initiateRequest('getOperatorsForVoyage', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getOrganisations: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getOrganisations', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getOutputFormatsForReport: function(reportName,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   reportName (String)
			*/ 
			var obj = {};
			obj.reportName = reportName;
			initiateRequest('getOutputFormatsForReport', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getPlaceForActualVoyage: function(voyageId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   voyageId (String)
			*/ 
			var obj = {};
			obj.voyageId = voyageId;
			initiateRequest('getPlaceForActualVoyage', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getPopupFormDef: function(formRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   formRequest (String)
			*/ 
			var obj = {};
			obj.formRequest = formRequest;
			initiateRequest('getPopupFormDef', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getPorts: function(portsRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   portsRequest (WS_PortsRequest)
			*/ 
			var obj = {};
			obj.portsRequest = portsRequest;
			initiateRequest('getPorts', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getPortsForSearch: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getPortsForSearch', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getPortsForVoyage: function(_voyageCode,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   _voyageCode (String)
			*/ 
			var obj = {};
			obj._voyageCode = _voyageCode;
			initiateRequest('getPortsForVoyage', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getPreference: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getPreference', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getPrenoteFromBookingRef: function(bookingRefNumber,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   bookingRefNumber (String)
			*/ 
			var obj = {};
			obj.bookingRefNumber = bookingRefNumber;
			initiateRequest('getPrenoteFromBookingRef', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getPrenoteFromCargoId: function(cargoId,cargoType,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   cargoId (String)
			   cargoType (Integer)
			*/ 
			var obj = {};
			obj.cargoId = cargoId;
			obj.cargoType = cargoType;
			initiateRequest('getPrenoteFromCargoId', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getROROVoyageStructure: function(_voyageRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   _voyageRequest (WS_VoyageRequest)
			*/ 
			var obj = {};
			obj._voyageRequest = _voyageRequest;
			initiateRequest('getROROVoyageStructure', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getReleaseRequestTypes: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getReleaseRequestTypes', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getReportOutputFormats: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getReportOutputFormats', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getReportsForReportHeader: function(reportHeaderStr,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   reportHeaderStr (String)
			*/ 
			var obj = {};
			obj.reportHeaderStr = reportHeaderStr;
			initiateRequest('getReportsForReportHeader', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getReportsForReportHeaderReq: function(reportsReq,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   reportsReq (WS_ReportsRequest)
			*/ 
			var obj = {};
			obj.reportsReq = reportsReq;
			initiateRequest('getReportsForReportHeaderReq', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getRowControllersForTermArea: function(terminalAreaId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   terminalAreaId (String)
			*/ 
			var obj = {};
			obj.terminalAreaId = terminalAreaId;
			initiateRequest('getRowControllersForTermArea', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getShippingLines: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getShippingLines', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getSiteSate: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getSiteSate', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getSourceLocationsForOperator: function(operatorId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   operatorId (String)
			*/ 
			var obj = {};
			obj.operatorId = operatorId;
			initiateRequest('getSourceLocationsForOperator', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getSourceSubLocations: function(sourceLocId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   sourceLocId (String)
			*/ 
			var obj = {};
			obj.sourceLocId = sourceLocId;
			initiateRequest('getSourceSubLocations', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getSourceSubSubLocations: function(subSourceLocId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   subSourceLocId (String)
			*/ 
			var obj = {};
			obj.subSourceLocId = subSourceLocId;
			initiateRequest('getSourceSubSubLocations', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getStops: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getStops', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getSubTerminals: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getSubTerminals', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getTerminalAreaTypes: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getTerminalAreaTypes', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getTerminalAreasForTAType: function(taTypeId,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   taTypeId (String)
			*/ 
			var obj = {};
			obj.taTypeId = taTypeId;
			initiateRequest('getTerminalAreasForTAType', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getTerminals: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getTerminals', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getTransactionTypes: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getTransactionTypes', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getTransportModes: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getTransportModes', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getTransportModesForSearch: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getTransportModesForSearch', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getUserPreferences: function(queryRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   queryRequest (WS_UserPrefQueryRequest)
			*/ 
			var obj = {};
			obj.queryRequest = queryRequest;
			initiateRequest('getUserPreferences', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getUsers: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getUsers', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getVessels: function(_callback, preprocessorOverride, exceptionhandlerOverride) {
			initiateRequest('getVessels', null, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getVoyages: function(voyagesRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   voyagesRequest (WS_VoyagesRequest)
			*/ 
			var obj = {};
			obj.voyagesRequest = voyagesRequest;
			initiateRequest('getVoyages', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		getWorkPoints: function(workPointsRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   workPointsRequest (WS_WorkPointsRequest)
			*/ 
			var obj = {};
			obj.workPointsRequest = workPointsRequest;
			initiateRequest('getWorkPoints', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		saveUserPreferences: function(updateRequest,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   updateRequest (WS_UserPrefUpdateRequest)
			*/ 
			var obj = {};
			obj.updateRequest = updateRequest;
			initiateRequest('saveUserPreferences', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		setCurrentTerminal: function(terminal,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   terminal (WS_Terminal)
			*/ 
			var obj = {};
			obj.terminal = terminal;
			initiateRequest('setCurrentTerminal', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		setPreference: function(preference,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   preference (WS_PreferenceUpdateRequest)
			*/ 
			var obj = {};
			obj.preference = preference;
			initiateRequest('setPreference', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}, 

		validateReportOutputFormat: function(report,reportFormat,_callback, preprocessorOverride, exceptionhandlerOverride) {
			/* Parameters
			   report (CM_QryReport)
			   reportFormat (Integer)
			*/ 
			var obj = {};
			obj.report = report;
			obj.reportFormat = reportFormat;
			initiateRequest('validateReportOutputFormat', obj, _callback, _endpoint[2], preprocessorOverride, exceptionhandlerOverride);
		}
	};
}(); // the parens here cause the anonymous function to execute and return

