<?xml version="1.0" encoding="UTF-8"?>
<Response>
<ProfileResp>
<CustomerBin>000001</CustomerBin>
<CustomerMerchantID>xxxx</CustomerMerchantID>
<CustomerName></CustomerName>
<CustomerRefNum>37373646</CustomerRefNum>
<CustomerProfileAction>READ</CustomerProfileAction>
<ProfileProcStatus>0</ProfileProcStatus>
<CustomerProfileMessage>Profile Request Processed</CustomerProfileMessage>
<CustomerAddress1></CustomerAddress1>
<CustomerAddress2></CustomerAddress2>
<CustomerCity></CustomerCity>
<CustomerState></CustomerState>
<CustomerZIP></CustomerZIP>
<CustomerEmail></CustomerEmail>
<CustomerPhone></CustomerPhone>
<CustomerProfileOrderOverrideInd>OI</CustomerProfileOrderOverrideInd>
<OrderDefaultDescription></OrderDefaultDescription>
<OrderDefaultAmount></OrderDefaultAmount>
<CustomerAccountType>CC</CustomerAccountType>
<Status>A</Status>
<CCAccountNum>0000000000000000</CCAccountNum>
<CCExpireDate></CCExpireDate>
<ECPAccountDDA></ECPAccountDDA>
<ECPAccountType></ECPAccountType>
<ECPAccountRT></ECPAccountRT>
<ECPBankPmtDlv></ECPBankPmtDlv>
<SwitchSoloStartDate></SwitchSoloStartDate>
<SwitchSoloIssueNum></SwitchSoloIssueNum>
<RespTime></RespTime>
</ProfileResp>
</Response>
{ CustomerBin: '000001',
CustomerMerchantID: 'xxxx',
CustomerName: { CustomerName: null },
CustomerRefNum: 37373646,
CustomerAddress1: { CustomerAddress1: null },
CustomerAddress2: { CustomerAddress2: null },
CustomerCity: { CustomerCity: null },
CustomerState: { CustomerState: null },
CustomerZIP: { CustomerZIP: null },
CustomerEmail: { CustomerEmail: null },
CustomerPhone: { CustomerPhone: null },
CustomerCountryCode: '',
CustomerProfileAction: 'READ',
CustomerProfileOrderOverrideInd: 'OI',
CustomerProfileFromOrderInd: 'A',
OrderDefaultDescription: { OrderDefaultDescription: null },
OrderDefaultAmount: { OrderDefaultAmount: null },
CustomerAccountType: 'CC',
Status: 'A',
CCAccountNum: 0000000000000000,
CCExpireDate: { CCExpireDate: null },
ECPAccountDDA: { ECPAccountDDA: null },
ECPAccountType: { ECPAccountType: null },
ECPAccountRT: { ECPAccountRT: null },
ECPBankPmtDlv: { ECPBankPmtDlv: null },
SwitchSoloStartDate: { SwitchSoloStartDate: null },
SwitchSoloIssueNum: { SwitchSoloIssueNum: null },
ProfileProcStatus: 0,
CustomerProfileMessage: 'Profile Request Processed',
RespTime: { RespTime: null } }
All examples of empty elements in the documentation are self closing. The xml I am receiving from the service is not self closing but empty.
O('ProfileResp',
{
'fields': [
F("CustomerBin", {'val':Chain().isString().inArray(["000001", "000002"])}),
F("CustomerMerchantID", {'val':Chain().isString().notEmpty()}),
F("CustomerName", {coerceTo:'string'}),
F("CustomerRefNum", {coerceTo:'string'}),
F("CustomerAddress1", {coerceTo:'string'}),
F("CustomerAddress2", {coerceTo:'string'}),
F("CustomerCity", {}),
F("CustomerState", {}),
F("CustomerZIP", {}),
F("CustomerEmail", {}),
F("CustomerPhone", {}),
F("CustomerCountryCode", {}),
F("CustomerProfileAction", {'val':Chain().isString().notEmpty().inArray(["C","R","U","D"])}),
F("CustomerProfileOrderOverrideInd", {'val': Chain().isString().notEmpty().inArray(["NO","OI","OD","OA"])}),
F("CustomerProfileFromOrderInd", {'val':Chain().isString().notEmpty().inArray(["A","S"])}),
F("OrderDefaultDescription", {}),
F("OrderDefaultAmount", {}),
F("CustomerAccountType", {'val': Chain().isString().notEmpty().inArray(["CC","SW","EC","DP","ED","IM"])}),
F("Status", {}),
F("CCAccountNum", {}),
F("CCExpireDate", {}),
F("ECPAccountDDA", {}),
F("ECPAccountType", {}),
F("ECPAccountRT", {}),
F("ECPBankPmtDlv", {}),
F("SwitchSoloStartDate", {}),
F("SwitchSoloIssueNum", {}),
F("MBType", {}),
F("MBOrderIdGenerationMethod", {}),
F("MBRecurringStartDate", {}),
F("MBRecurringEndDate", {}),
F("MBRecurringNoEndDateFlag", {}),
F("MBRecurringMaxBillings", {}),
F("MBRecurringFrequency", {}),
F("MBDeferredBillDate", {}),
F("MBMicroPaymentMaxDollarValue", {}),
F("MBMicroPaymentMaxBillingDays", {}),
F("MBMicroPaymentMaxTransactions", {}),
F("MBCancelDate", {}),
F("MBRestoreBillingDate", {}),
F("MBRemoveFlag", {}),
F("EUDDCountryCode", {}),
F("EUDDBankSortCode", {}),
F("EUDDRibCode", {}),
F("SDMerchantName", {}),
F("SDProductDescription", {}),
F("SDMerchantCity", {}),
F("SDMerchantPhone", {}),
F("SDMerchantURL", {}),
F("SDMerchantEmail", {}),
F("BillerReferenceNumber", {}),
F("AccountUpdaterEligibility", {}),
F("EUDDBankBranchCode", {}),
F("EUDDIBAN", {}),
F("EUDDBIC", {}),
F("EUDDMandateSignatureDate", {}),
F("EUDDMandateID", {}),
F("EUDDMandateType", {}),
],
'plural': 'Profiles',
'singular':'Profile'
}),
O('Response',{
'fields':[
F("ProfileResp" )
],
'singular':'Response'
})