Includes MsiAppOriginator
The web service MsiAppOriginator allows you to load XML-format Client, Application, Asset, Insurance, and User Defined Fields information into the LeasePak database. It also enables you to delete pending assets. Unlike the first generation web services, MsiAppOriginator makes calls to dsConnect and dsDisconnect automatically as needed.
The document Supported Fields lists fields supported by MsiAppOriginator.
The documentation also includes a sample file, used in the createApplication
SOAP request/response example, create_app_sample.htm.
The available XML child elements within MSI_APP_ORIG are:
CUSTOMER_RECORD (none required, only 1 allowed) LESSEE_RECORD (at least one required, many allowed) GUARANTOR_RECORD (none required, many allowed) VENDOR_RECORD (none required, many allowed) BROKER_RECORD (none required, many allowed) APPLICATION_RECORD (none required, only 1 allowed) ASSET_DELETE (none required, only 1 allowed) ASSET_RECORD (none required, many allowed) INSURANCE_RECORD (none required, only 1 allowed) NOTEBOOK_RECORD (none required, only 1 allowed) UDF_FIELDS_RECORD (none required, many allowed)
Child elements are processed in the order specified above: all Customer elements first, then all Lessee elements, etc. If processing a child element results in an error or exception, no adds or updates are made for that element, and no further processing of child elements within the parent MSI_APP_ORIG element occurs.
Use this child element instead of the deprecated deleteAssets
method to delete all pending assets from an application:
<ASSET_DELETE> <appNumber>application_number</appNumber> </ASSET_DELETE>
where application_number is the application for which you wish to delete all pending assets.
Data within the xmlDocument string must meet the following requirements:
<appNumber></appNumber>
in the XML string will throw an error;String xml = new String(); // where xml is the XML document (as a String) containing the records you wish to add to LeasePak StringBuffer data = new StringBuffer(); BufferedReader reader = new BufferedReader(new StringReader(xml)); String res = reader.readLine(); while ( res != null ) { data.append(res.trim()); res = reader.readLine(); }
The Java RMI and Apache Axis mp_axis syntax for the method is:
lpcall.setOperationName( new QName("urn:MsiAppOriginator", "createApplication") );
The parameters are:
Name | Direction | Type | Description |
---|---|---|---|
xmlDocument / in0 | Input | xsd:string | The XML document (as a String) containing the records you wish to add to LeasePak |
addOnly / in1 | Input | xsd:boolean | true to not make updates to any existing LeasePak data or false if your XML data contains updates to existing records |
Sample SOAP request:
The following was generated using the XML data from create_app_sample.htm. Note that line breaks have been added to improve readability--the actual SOAP request does not contain any line breaks or spaces between XML elements.
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ns1:createApplication soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:mpower-v52a"> <ns1:arg0 xsi:type="xsd:string"> <?xml version="1.0" encoding="iso-8859-1"?> <!-- application_full.xml, from msi_app_orig.dtd "//NetSol Technologies, Inc.//DTD MSI_APP_ORIG 1.0//EN " --><!-- APPLICATION_RECORD using established clients from complete_ok_01.xml --> <MSI_APP_ORIG><APPLICATION_RECORD><portfolio>2</portfolio> <company>1</company><region>1</region> <office>1</office><vendor>262</vendor> <broker>263</broker><investor>264</investor> <lessee>259</lessee><leaseDate>071604</leaseDate> <commencementDate>071604</commencementDate><disbursementDate>071604</disbursementDate> <documentSentDate>070104</documentSentDate><documentCompleteDate>071604</documentCompleteDate> <dueDate>16</dueDate><lessorAccrualMethod>RAPR</lessorAccrualMethod> <vendorAccrualMethod>RAPR</vendorAccrualMethod><investorAccrualMethod>RAPR</investorAccrualMethod> <leaseSource>BROK</leaseSource><formCode>PCFL</formCode> <advancePaymentBegins>0</advancePaymentBegins><advancePaymentEnds>0</advancePaymentEnds> <delinquencyWatchCode>0</delinquencyWatchCode><brokerPaymentCode>PRIN</brokerPaymentCode> <lateChargeAsmt>GFL6</lateChargeAsmt><leaseTypeCode>FIN</leaseTypeCode> <purOptionBillingMethod>NONE</purOptionBillingMethod><purchaseOption>PAY</purchaseOption> <purOptionOwner>LSSR</purOptionOwner><marketCode>SUB</marketCode> <accountCode>PRFR</accountCode><applicationType>NEW</applicationType> <ratePlan>RAT1</ratePlan><upfrontSalesTaxCode>PAID</upfrontSalesTaxCode> <documentTypeCode>DOC1</documentTypeCode><primeRateBankNumber>1</primeRateBankNumber> <lateChargeIndex>1</lateChargeIndex><productTypeCode>LSE</productTypeCode> <businessPersonal>B</businessPersonal><openCloseLeaseType>O</openCloseLeaseType> <assumedPayment>N</assumedPayment><refundable>N</refundable> <preauthSwitch>Y</preauthSwitch><billingLevel>L</billingLevel> <statementCode>I</statementCode><normalMstrSub>N</normalMstrSub> <automaticChargeOff>N</automaticChargeOff><generalDescription>Placid Inventory System 3000</generalDescription> <tradeinDescription>Not Applicable</tradeinDescription><vendContactName>George Brunelli</vendContactName> <vendPhoneNum>518-555-0999</vendPhoneNum><brkrContactName>Celia Modo</brkrContactName> <brkrPhoneNum>303-555-9999</brkrPhoneNum><securityDeposit>500.00</securityDeposit> <downPayment>500.00</downPayment><residual>500.00</residual> <fundingInterestOwedOrEarned>150.00</fundingInterestOwedOrEarned><leaseAddressName>Marcelli & Marcelli</leaseAddressName> <leaseAddress1>19050 Anza Ave.</leaseAddress1><leaseAddress2>Apt. 9E</leaseAddress2> <leaseCity>Torrance</leaseCity><leaseState>CA</leaseState> <leaseZipCode>90503</leaseZipCode><billingName>Marcelli & Marcelli</billingName> <billingAddress1>PO Box 23054</billingAddress1><billingAddress2>Attn: Ruth & Freddie</billingAddress2> <billingCity>Torrance</billingCity><billingState>CA</billingState> <billingZipCode>905233054</billingZipCode><groupNumber>1</groupNumber> <term>36</term><gracePeriodInDays>3</gracePeriodInDays> <npvDiscountRate>5</npvDiscountRate><documentationFee>50.00</documentationFee> <interimRent>150.00</interimRent><brokerFees>250.00</brokerFees> <guaranteedPortionOfResidual>250.00</guaranteedPortionOfResidual><upfrontTitlingTaxPaid>250.00</upfrontTitlingTaxPaid> <upfrontSalesTaxOnCost>412.50</upfrontSalesTaxOnCost><advancedMoneyReceived>500.00</advancedMoneyReceived> <acquisitionCost>5000.00</acquisitionCost><paymentFreq>MON</paymentFreq> <paymentAmount>200.00</paymentAmount><notaryFeePayable>263</notaryFeePayable> <insurancePremiumPayTo>263</insurancePremiumPayTo><dealerRecourse>LMTD</dealerRecourse> <creditQuality>A</creditQuality><optionalInsurance>NONE</optionalInsurance> <accountType>L</accountType><revolvingCreditLimit>20000.00</revolvingCreditLimit> <sumOfPayments>7200.00</sumOfPayments><invoiceFormatCode>GENR</invoiceFormatCode> <payment_Freq_0>9</payment_Freq_0><payment_Amount_0>200.00</payment_Amount_0> <payment_Code_0>MON</payment_Code_0><payment_Freq_1>9</payment_Freq_1> <payment_Amount_1>200.00</payment_Amount_1><payment_Code_1>MON</payment_Code_1> <payment_Freq_2>9</payment_Freq_2><payment_Amount_2>200.00</payment_Amount_2> <payment_Code_2>MON</payment_Code_2><payment_Freq_3>9</payment_Freq_3> <payment_Amount_3>200.00</payment_Amount_3><payment_Code_3>MON</payment_Code_3> <recurringChargeStartDate_0>081604</recurringChargeStartDate_0><recurringChargeMaturityDate_0>071607</recurringChargeMaturityDate_0> <recurringChargeAmount_0>10.00</recurringChargeAmount_0><bndlRecurrChgOnInvo_0>Y</bndlRecurrChgOnInvo_0> <recurringChargeStartDate_1>081604</recurringChargeStartDate_1><recurringChargeMaturityDate_1>071607</recurringChargeMaturityDate_1> <recurringChargeDealerPayable_1>262</recurringChargeDealerPayable_1><recurringChargeAmount_1>20.00</recurringChargeAmount_1> <bndlRecurrChgOnInvo_1>N</bndlRecurrChgOnInvo_1><recurringChargeStartDate_2>081604</recurringChargeStartDate_2> <recurringChargeMaturityDate_2>071607</recurringChargeMaturityDate_2><recurringChargeAmount_2>30.00</recurringChargeAmount_2> <bndlRecurrChgOnInvo_2>Y</bndlRecurrChgOnInvo_2><recurringChargeStartDate_3>081604</recurringChargeStartDate_3> <recurringChargeMaturityDate_3>071607</recurringChargeMaturityDate_3><recurringChargeBrkrPayable_3>263</recurringChargeBrkrPayable_3> <recurringChargeAmount_3>40.00</recurringChargeAmount_3><bndlRecurrChgOnInvo_3>N</bndlRecurrChgOnInvo_3> <salesPersonNumber_0>JOE</salesPersonNumber_0><salesPersonDollarPrct_0>60</salesPersonDollarPrct_0> <salesPersonVolumePrct_0>55</salesPersonVolumePrct_0><salesPersonNumber_1>EDIE</salesPersonNumber_1> <salesPersonDollarPrct_1>40</salesPersonDollarPrct_1><salesPersonVolumePrct_1>45</salesPersonVolumePrct_1> <clientRelationshipType_0>LES</clientRelationshipType_0><client_Number_0>260</client_Number_0> <clientRelationshipType_1>GRT</clientRelationshipType_1><client_Number_1>261</client_Number_1> </APPLICATION_RECORD></MSI_APP_ORIG> </ns1:arg0> <ns1:arg1 xsi:type="xsd:boolean">true</ns1:arg1> </ns1:createApplication> </soapenv:Body> </soapenv:Envelope>
Sample SOAP response:
The following was generated using the XML data from create_app_sample.htm
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ns1:createApplicationResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:mpower-v52a"> <createApplicationReturn xsi:type="xsd:boolean">true</createApplicationReturn> </ns1:createApplicationResponse> </soapenv:Body> </soapenv:Envelope>
boolean createApplicationAsUser(java.lang.String username, java.lang.String pwd, java.lang.String xmlDocument, boolean addOnly)
This method is identical to createApplication
except that you supply a logon user name and password instead of using
the default API user name and password.
The Java RMI and Apache Axis syntax for the method is:
lpcall.setOperationName( new QName("urn:MsiAppOriginator", "createApplicationAsUser") );
The parameters are:
Name | Direction | Type | Description |
---|---|---|---|
username / in0 | Input | xsd:string | User name you wish to log on as |
pwd / in1 | Input | xsd:string | Password (LeasePak client string) for the user |
xmlDocument / in2 | Input | xsd:string | The XML document (as a String) containing the records you wish to add to LeasePak |
addOnly / in3 | Input | xsd:boolean | true to not make updates to any existing LeasePak data or false if your XML data contains updates to existing records |
The Java RMI and Apache Axis mp_axis syntax for the method is:
lpcall.setOperationName( new QName("urn:MsiAppOriginator", "getMessages") );
There are no parameters.
Sample SOAP request:
The following was generated using the XML data from create_app_sample.htm
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ns1:getMessages soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:mpower-v52a"/> </soapenv:Body> </soapenv:Envelope>
Sample SOAP response:
The following was generated using the XML data from create_app_sample.htm. Note that line breaks have been added to improve readability--the actual SOAP request does not contain any line breaks or spaces between elements.
<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ns1:getMessagesResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:mpower-v52a"> <getMessagesReturn xsi:type="xsd:string"> <?xml version="1.0"?><MSI_APP_ORIG_MSGS><INFO>Processing started.</INFO> <INFO>CUSTOMER: No record to process.</INFO><INFO>LESSEE: No records to process.</INFO> <INFO>GUARANTOR: No records to process.</INFO><INFO>BROKER: No records to process.</INFO> <INFO>VENDOR: No records to process.</INFO><INFO>APPLICATION: Processing started.</INFO> <INFO>APPLICATION: (): New Application Created: 180</INFO> <INFO>APPLICATION: Processing completed.</INFO><INFO>ASSET: No records to process.</INFO> <INFO>INSURANCE: No records to process.</INFO><INFO>USER DEFINED FIELDS: No records to process.</INFO> <INFO>Processing completed.</INFO></MSI_APP_ORIG_MSGS> </getMessagesReturn> </ns1:getMessagesResponse> </soapenv:Body> </soapenv:Envelope>
String batchApplication (java.lang.String applicationNumber, java.lang.boolean pendingAssetsOnly, java.lang.boolean disburseChecks) throws RemoteException;
Where applicationNumber is a single application number to book a lease or an asset, pendingAssetsOnly allow the user to add pending assets to attach with the application and disburseChecks allow the user weather or not to disburse checks using the defaults that batch applications uses.
The method automates the process of booking an asset or a lease. The process of booking an asset or a lease is identical to the the process of batch bookings. This new method allows the user to separate the process of booking assets and booking leases so that other process can run. Also indicate the user to check disbursal process that should disburse checks or not.
The Java RMI and Apache Axis syntax for the method is:
lpcall.setOperationName( new QName("urn:MsiAppOriginator", "batchApplication") );
There parameters are:
Name | Direction | Type | Description |
---|---|---|---|
applicationNumber / in0 | Input | xsd:string | A single application number. |
pendingAssetsOnly / in1 | Input | xsd:boolean | Weather or not you want to process only the pending assets attached to the application. |
disburseChecks / in2 | Input | xsd:boolean | Whether or not you want to disburse checks using the defaults that batch applications uses. |