2022

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Initiating DBSync integration through Rest-Call



DBSync integration can also be initiated without having to login to www.mydbsync.com. The sync can be initiated from an external application, say with a click of a button or a URL. The following section illustrates how this customization can be achieved.

...

The following section illustrates how these parameters can be found within DBSync intallation and modify as per to your DBSync and Adapter configurations.

Authentication :

The authentication module verifies your DBSync Username, Password and Profile used for Integration. The following is a sample DBSync credential which is used for authentication.

...

Code Block
<authentication>
<userName>username@yourcompany.com</userName>
<password>your_password</password>
<profile>IntacctToDatabase</profile>
</authentication>

Profile :

Defines the process to execute. The name is in the form of "processdefinition_"<<process_name>>".xml

...

Code Block
<?xml version="1.0" encoding="UTF-8"?>

<!-- DBSync User Details -- >

<profile id="avinash.r@avankia.com" name="IntacctToDatabase" loglevel="ALL" email="" guid="0006FBC6">

<!-- Intacct Adapter Configuration -- >

<adapter name="Intacct" type="com.avankia.appmashups.adapter.intacct.IntacctAdapter">
<property name="userid">username</property>
<property name="password" encrypted="true">XXXXXX</property>
<property name="senderid">avankia</property>
<property name="dtdversion">2.1</property>
<property name="hostUrl">www.intacct.com</property>
<property name="companyid">company-DEV</property>
<property name="controlpassword">XXXXXXX</property>
</adapter>
<adapter name="ConsoleAdapter" type="com.avankia.appmashups.engine.conversion.adapters.ConsoleAdapter" />

<!-- Database Adapter Configuration  -- >

<adapter name="database" type="com.avankia.appmashups.engine.conversion.adapters.DatabaseAdapter">
<property name="password" encrypted="true">XXXXXX</property>
<property name="url">jdbc:sqlserver://localhost:1433;databaseName=Intacct</property>
<property name="autocommit">true</property>
<property name="driver">sqlserver</property>
<property name="dbname">intacct</property>
<property name="username">sa</property>
</adapter>
</profile>

Payload – Process Definition Language :


The PDL file (Process Definition Language) can be found in the same directory as the profile.xml file or you can also download the PDL file from DBSync. A screenshot below illustrates step-by-step instructions to download the same.

...

Code Block
package com.avankia.appmashups.rest;

import java.io.File;
import java.net.URLEncoder;
import org.apache.commons.io.FileUtils;

public class TestClient
{
public static void main(String[] args) throws Exception
{

String authenticationXML = "<authentication>" + "<userName>username@company.com</userName>" + "<password>password</password>" + "<profile>IntacctToDatabase</profile>" + "</authentication>";
String profileXML2="";
String profileXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"\+

/*
Intacct Adapter Configuration
*/

"<profile id="localhost@avankia.com" name="INTACCT" loglevel="ALL" email=""guid="01F6CCDC">"+
"<adapter name="Intacct" type="com.avankia.appmashups.adapter.intacct.IntacctAdapter">"+
"<property name="userid">admin</property>"+ // Intacct UserId
"<property name="password" encrypted="true">XXXXXXXXX</property>"+ //Encrypted Intacct Password
"<property name="senderid">company</property>"+  // Intacct SenderId
"<property name="dtdversion">2.1</property>"+   //  Intacct DTD Version
"<property name="hostUrl">www.intacct.com</property>"+  // Host URL
"<property name="companyid">Company-ID</property>"+  // Intacct Company Id
"<property name="controlpassword">YYYYYYYY</property>"\+ // Intacct Control Password
"</adapter>"+


/*
Database Adapter Configuration
*/

"<adapter name="database" type="com.avankia.appmashups.engine.conversion.adapters.DatabaseAdapter">"+
"<property name="password" encrypted="true">XXXXXXX</property>"\+ //Database Password
"<property name="url">jdbc:mysql://localhost:3306/yourdb</property>"+ // Database Connection String
"<property name="autocommit">true</property>"+
"<property name="driver">mysql</property>"+ // Database Driver
"<property name="dbname">mysql</property>"+
"<property name="username">root</property>"+  // Database User
"</adapter>"+
"</profile>";
\\
StringBuilder content = new StringBuilder();
content.ppend("authenticationXML=");
content.append(URLEncoder.encode(authenticationXML, "UTF-8"));
content.append("&");
content.append("profileXML=");
content.append(URLEncoder.encode(profileXML, "UTF-8"));
content.append("&");
content.append("payload=processdefinition_testpdl.xml");
String response = Http.post("http://localhost:8080/dbsync2/dbsyncrestservice.m", content.toString(), "application/x-www-form-urlencoded");
System.out.println("HTTP Response:\n"+response);
}
}

Return Value

If successfully submitted, the return value is "success"

...