Discover how a bimodal integration strategy can address the major data management challenges facing your organization today.
Get the Report →Configure a Receive Location for the CData BizTalk Adapter for HubDB
Pull HubDB data in BizTalk using the CData BizTalk Adapter for HubDB. Use receive locations to execute SQL commands and automate actions in HubDB.
You can follow the procedure in this article to connect to HubDB data, configure a static one-way receive location, and use it to perform a simple test: retrieving HubDB data and writing it to an XML file.
A receive location can execute SQL commands and create BizTalk messages that contain the results. If you want to execute updategram commands, use a send port.
Create the Receive Port
To add a receive location to your application, you first need to add a receive port. Receive ports can receive data from multiple receive locations.
- If you have not already done so, open your application in the BizTalk Administration Console.
- In your application, right-click Receive Ports and click New -> Static One-Way Receive Port. The Receive Port Properties dialog is displayed.
- In the Name menu, enter a name for the receive port.
Create the Receive Location
After you create the receive port, create the receive location and configure it to use the HubDB adapter as its transport type.
- Right-click Receive Locations and click New -> One-Way Receive Location.
- Select the appropriate receive port of which the new receive location will be a member. The Receive Location Properties dialog is displayed.
- In the Name menu, enter a name for the receive location.
- In the Receive Location properties, select CData.HubDB in the Transport Type menu.
- In the Receive pipeline menu, select the default option, PassThruReceive.
Configure the Adapter
In the Transport Properties dialog, specify the command that the adapter will execute.
- In the receive location properties, click Configure. The Transport Properties dialog for the adapter is displayed.
- In the SQL Command property, enter the command. This example uses
SELECT PartitionKey, Name FROM NorthwindProducts WHERE Id = '1'
Configure the Connection String
Set credentials and other connection properties in the Connection String Options dialog.
- In the receive location properties, click Configure. The adapter properties dialog is displayed.
- Click the button in the Connection String property.
- Click the box in the Connection String property. The Connection String Options dialog is displayed.
- Enter connection properties. Below is a typical connection string:
AuthScheme=OAuth;OAuthClientID=MyOAuthClientID;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:33333;InitiateOAuth=GETANDREFRESH
There are two authentication methods available for connecting to HubDB data source: OAuth Authentication with a public HubSpot application and authentication with a Private application token.
Using a Custom OAuth App
AuthScheme must be set to "OAuth" in all OAuth flows. Be sure to review the Help documentation for the required connection properties for you specific authentication needs (desktop applications, web applications, and headless machines).
Follow the steps below to register an application and obtain the OAuth client credentials:
- Log into your HubSpot app developer account.
- Note that it must be an app developer account. Standard HubSpot accounts cannot create public apps.
- On the developer account home page, click the Apps tab.
- Click Create app.
- On the App info tab, enter and optionally modify values that are displayed to users when they connect. These values include the public application name, application logo, and a description of the application.
- On the Auth tab, supply a callback URL in the "Redirect URLs" box.
- If you're creating a desktop application, set this to a locally accessible URL like http://localhost:33333.
- If you are creating a Web application, set this to a trusted URL where you want users to be redirected to when they authorize your application.
- Click Create App. HubSpot then generates the application, along with its associated credentials.
- On the Auth tab, note the Client ID and Client secret. You will use these later to configure the driver.
Under Scopes, select any scopes you need for your application's intended functionality.
A minimum of the following scopes is required to access tables:
- hubdb
- oauth
- crm.objects.owners.read
- Click Save changes.
- Install the application into a production portal with access to the features that are required by the integration.
- Under "Install URL (OAuth)", click Copy full URL to copy the installation URL for your application.
- Navigate to the copied link in your browser. Select a standard account in which to install the application.
- Click Connect app. You can close the resulting tab.
Using a Private App
To connect using a HubSpot private application token, set the AuthScheme property to "PrivateApp."
You can generate a private application token by following the steps below:
- In your HubDB account, click the settings icon (the gear) in the main navigation bar.
- In the left sidebar menu, navigate to Integrations > Private Apps.
- Click Create private app.
- On the Basic Info tab, configure the details of your application (name, logo, and description).
- On the Scopes tab, select Read or Write for each scope you want your private application to be able to access.
- A minimum of hubdb and crm.objects.owners.read is required to access tables.
- After you are done configuring your application, click Create app in the top right.
- Review the info about your application's access token, click Continue creating, and then Show token.
- Click Copy to copy the private application token.
To connect, set PrivateAppToken to the private application token you retrieved.
- Log into your HubSpot app developer account.
- Click Test Connection to verify the connection values and test connectivity.
Refer to the help documentation for a description of the various properties and their functions.
Use a Send Port to Write Data to an XML File
The Static One-Way Receive Location is now ready for use with a send port: A send port must be associated with the BizTalk message that is created by the receive location. To write data to a file, create a file send port.
- In the BizTalk Administration console, right-click Send Ports -> New -> Static One-Way Send Port.
Enter a name for the send port at the top of the configuration window and select FILE from the Type menu.
- Configure a destination folder; this will be the location where the files are created on disk.
For the file name, a macro can be used to easily identify what day the file was created. By default, %MessageId%.xml is used. However, this is not a very user-friendly name, as it is a randomly generated BizTalk Id. To produce a file in the format NorthwindProducts_yyyy-MM-dd.xml, enter NorthwindProducts_%Date%.xml.
Note: For additional information regarding macros, visit the BizTalk Configuration section in the help documentation.
- Click OK. The URI field should now contain a value.
- Click Filters in the left-hand side of the configuration screen for the send port.
- Set the following properties:
- Property: Select "BTS.InboundTransportLocation" from the menu.
- Operator: Select "==" from the menu.
- Value: Enter the URI of the receive location. The URI is shown in the receive location properties.
- Operator: Select "==" from the menu.
- Property: Select "BTS.InboundTransportLocation" from the menu.
You can now use the send port to write files that have been sent from the receive location.
Enlist and Enable the Locations and Ports
The final step is to enlist the send port and enable the receive location: Right-click the send port and click Enlist. Then right-click the receive location and click Enable.
Note: Enable the receive location last: This makes sure the file gets picked up for writing by the send port.
Troubleshooting
To check if errors are occurring, expand "Event Viewer (Local)" in the navigation tree in the Administration Console. Expand Windows Logs and click Applications.
The log will include error messages for all applications on the system, so it is important to check that the source of the error message is "CData BizTalk HubDB Receive Adapter". Details of the error message should provide insight into why the error is occurring. For guidance on resolving the error, contact [email protected].