The Advanced tab allows granular control over the QuickBooks Gateway's server. The QuickBooks Gateway contains an embedded Web server that runs as a Windows service and listens for HTTP requests. Each request contains the XML data to be communicated to QuickBooks Point of Sale as well as configuration settings specifying how the connection is to be opened. The QuickBooks Gateway then communicates with QuickBooks Point of Sale via COM and returns the QuickBooks Point of Sale response (or an error message) in the HTTP reply.
This chapter details how to control each of these aspects of connecting to QuickBooks Point of Sale through the UI, command-line interface, and the registry. The following sections detail the options available on the Advanced tab.
- Write Logs to a Folder: Enables or disables writing log files to the specified folder in addition to writing logs to the Status tab.
- Folder: Specifies the folder where log files are written.
- Log Rotation: Determines how logs are organized on disk. Creates one file for each day, week, or month, depending on the following values:
Daily (default): Uses a new log file every day. Files are written with the format "yyyy_MM_dd.txt". For example, "2013_09_23.txt". Weekly: Uses a new log file every week. Files are written with the format "yyyy_ww.txt". For example, "2013_34.txt", where 34 means this is the 34th week of 2013. Monthly: Uses a new log file every month. Files are written with the format "yyyy_mm.txt". For example, "2013_09.txt".
- Log Mode: Sets the verbosity of the log output. In most situations, Info (the default) is sufficient. The Verbose option is helpful for debugging purposes.
- Port: The port on which the server listens.
- Allowed Clients: A comma-separated list of host names or IP addresses that can access the server. The wildcard character '*' is supported. If unspecified (default) any client can connect.
Enabling Persistent Connections
All communications to QuickBooks Point of Sale company files must first go through QuickBooks Point of Sale. If QuickBooks Point of Sale is closed, this means that for each attempt to connect to the company file, QuickBooks Point of Sale needs to be launched and then closed again. By default the QuickBooks Gateway queues requests for data and performs the necessary authentication for each request. The following options can be used to override this behavior and keep the connection to the company file alive after the query finishes executing, so further requests will respond more quickly.
Warning: If a user attempts to manually open QuickBooks Point of Sale while a persistent connection is opened, QuickBooks Point of Sale will throw an error stating that the company file is already in use.
- Enable Persistent Connection: This is disabled by default: Normally your code controls when the connection to QuickBooks Point of Sale is opened and closed by calling the Open and Close methods; however, when this setting is enabled, the QuickBooks Gateway establishes a persistent connection to QuickBooks Point of Sale even when Open and Close are not used. This allows multiple applications to share the connection and simultaneously access the QuickBooks Gateway.
- Idle Timeout: Sets the idle timeout for the persistent connection in seconds. This is only applicable to the persistent connection. If there is no activity within this time window the QuickBooks Gateway closes the connection.
Enabling TLS/SSLEnable TLS (1.x) to encrypt communication between your application and the QuickBooks Gateway. TLS/SSL uses digital certificates to protect the confidentiality, integrity, and authenticity of your data: You can generate these certificates on the Advanced tab. Once you have enabled TLS, you will need to send your public key certificate to any connecting applications.
The following options are used to configure TLS/SSL:
- Enable TLS: Enables or disables TLS (1.x) communication.
- Select Certificate: Loads an existing certificate.
- Generate Certificate: Creates a new certificate.