DefineCallInterfaceHelper_mixin()
			- boolean
pbConvertXML - handle
phoCallInterface - oCallInterface : cCallInterface
 
- Address
VDFISData_pData(Address pVDFISData)
			extract and return pData pointer from passed pointer to VDFISData
This is not a copy operation - just find pData.
 - Address
VDFISData_iDataLen(Address pVDFISData)
			extract Length pData pointer from passed pointer to VDFISData
 - Address
AllocVDFISData_pData(Address pVDFISData Integer iLen)
			Alloc or reAlloc space for VDFISData.pData.
Pass: pVDFISData and length.
Alloc mem and set .pData and .iDataLen values in structure
Ret:  .pData
- Address
pData - Integer
bOK - Integer
bKeepAlive 
 - String
Copy_VDFISDATAtoString(Address pVDFISData)
			must create a new string and copy contents from pValue into it
Pass: pValue points to VDFISData
- String
sValue - Address
pData 
 - Address
Copy_StringtoVDFISData(String sValue Address pVDFISData)
			must alloc new pData space and copy string to this space.
Pass: Pointer to VDFISData, String.
Pass by ref to avoid extra copy of string
- Integer
iLen - Address
pData 
 
RegisterSimpleInterface(Integer iMsg String sMsgName String sParams String sComment)
			add message to interface. Old vdf 2 message (was called RegisterInterface). use extended version below
RegisterInterface(Integer iMsg String sMsgName String sParams String sComment)
			add extended interface.
RemoveInterface(Integer iMsg)
			
RegisterStandardInterface()
			- Integer
FindMessageId(String sMsg)
			Find message Id for passed message name ret: 0 if not found, else object Id of message
 - Integer
FindMessageItem(String sMsg)
			Find message item for passed message name ret: -1 if not found, else item of message.
The following messages use this item to retrieve data.
 - Integer
InterfaceMessageCount()
			 - String
InterfaceMessageName(Integer iItem)
			retrieve interface Name (w/ proper casing), Id, Params, and Comments based on passed ID.
 - String
InterfaceMessageId(Integer iItem)
			 - String
InterfaceMessageParams(Integer iItem)
			 - String
InterfaceMessageComment(Integer iItem)
			 - Integer
InterfaceMessageParamCount(Integer iItem)
			 - Integer
InterfaceMessageParamType(Integer iItem Integer iParam)
			- Integer
iParamType 
 - String
InterfaceMessageParamTypeName(Integer iItem Integer iParam)
			- String
sParamTypeName 
 - Integer
InterfaceMessageParamDimCount(Integer iItem Integer iParam)
			- Integer
iParamDimCount 
 - String
InterfaceMessageParamName(Integer iItem Integer iParam)
			- String
sParamName 
 - Integer
InterfaceMessageParamByRef(Integer iItem Integer iParam)
			- Integer
iParamByRef 
 - String
InterfaceTypeDefinitions(string sNSPre string sNsURI)
			- String
sTypes 
 - String
WebRequestServiceName(Address pVdfISData)
			- String
sName 
 - Integer
InterfaceMessageIsExtended(Integer iItem)
			Is message extended. Determines how sParams is parsed
 - Integer
DoCall(Address pVDFISData)
			Uses new runtime class for call parsing
Note: There are no more parsing errors, since there is no parsing.
There are four possible errors:
1. We receive a completely bad parameter block
(dwError is set in structure or offset to service name is outside of range)
#REPLACE  DFERR_WEBAPP_WEBSERVICE_BAD_PARAMETER_BLOCK,    |CI4376
2. We receive a call for a webservice that we don't have registered.
#REPLACE  DFERR_WEBAPP_WEBSERVICE_NOT_FOUND,              |CI4375
3. We receive a call for a webservice, but it doesn't have a valid message number
attached. Message number is zero.
#REPLACE  DFERR_WEBAPP_WEBSERVICE_BAD_REGISTRATION       |CI4374
4. More than 16 arguments were passed. 16 arguments is the maximum for a webservice.
#REPLACE  DFERR_WEBAPP_WEBSERVICE_TOO_MANY_ARGUMENTS,    |CI4387
- Integer
iErr - String
sErrMsg - String
sMsgName - String
sName - Boolean
bConvert