AbaConnect Frequently Asked Questions

Last Modified : 15.06.2022

Note : This document is currently only available in English.

This document contains a number of questions that are commonly asked about the ABACUS AbaConnect interfaces.


Contents - Questions

A list of current questions. Click on the question to navigate to the answer below.

No.CategoryQuestion
GENERAL  What is AbaConnect ?  
GENERAL  Where can I find information about AbaConnect ?  
GENERAL  Is there any licence required to use AbaConnect interfaces ?  
GENERAL  What licence is necessary to use Dossiers via the AbaConnect interfaces ?  
GENERAL  How can Dossiers be exported and imported via AbaConnect ?  
ABACONNECT XML  What is the difference between AbaConnect ASCII and XML interfaces ?  
ABACONNECT XML  What is the difference between AbaConnect Flat and Hierarchy interfaces ?  
ABACONNECT XML  Does an AbaConnect Import XML File have to contain all the XML Element fields in the Default Mapping ?  
ABACONNECT XML  What is the correct way to edit or save an XML file to retain the encoding in UTF-8 ?  
10  ABACONNECT XML  What are special characters and how can they be represented in XML using UTF-8 encoding ?  
11  COMMAND LINE  How can I detect error responses during AbaConnect Command Line exports and imports ?  
12  COMMAND LINE  Where can I find the required parameters to export an AbaConnect interface via command line ?  
13  WEB SERVICES  How can I tell if an AbaConnect interface is accessible via WebServices ?  
14  WEB SERVICES  How can I test if an Abacus installation supports AbaConnect WebServices ?  
15  WEB SERVICES  How can Apache TCPMon be configured to view and save the SOAP messages ?  
16  WEB SERVICES  Can the Abacus AbaEngine WebService be used for exporting data ?  
17  WEB SERVICES  Where is more detailed information about developing with AbaConnect WebService ?  
18  WEB SERVICES  How can User access be limited using AbaConnect.WebService.Users property ?  
19  WEB SERVICES  What are the main differences between using AbaConnect WebServices and AbaConnect XML file ?  
20  WEB SERVICES  Why can timeouts occur with .NET WebService Programs with Abacus V2019 ?  



Questions and Answers

Questions and Answers relating to AbaConnect.
 
No./Category   Question/Answer Back To Top
What is AbaConnect ? 
GENERAL  AbaConnect is a central Abacus Framework for importing and exporting data to and from Abacus Applications. AbaConnect can be used via Prog 625 in the Abacus Menu and command line to export and import data via XML file. Many of the AbaConnect interfaces are also available as WebService. With WebServices, it is possible to develop an independent program (e.g. with JAVA, Microsoft .NET, etc) to import and export data with other software.  

 
No./Category   Question/Answer Back To Top
Where can I find information about AbaConnect ? 
GENERAL  Information about the AbaConnect interfaces is available in the Abacus Prog 625 in the AbaConnect Configuration panel. Detailed information about field properties can be viewed via the "Properties" in the Right-Mouse-Menu. AbaConnect documentation for a particular interface can be exported via the Right-Mouse-Menu in the Application tree.

Information about AbaConnect is also available on the Abacus Homepage (www.abacus.ch) under

Downloads - Documentation - AbaConnect (https://downloads.abacus.ch/downloads/abaconnect/dokumentationen)
(contains the general documentation for the AbaConnect Interfaces and Batch File/Command Line)

and

Downloads - Drivers/Tools - AbaConnect (https://downloads.abacus.ch/downloads/abaconnect/webservices)
(for developers : contains the AbaConnect WSDL's, documentation, and examples in .NET und Java - available after registration by Email)
WebService examples are available in .NET and Java for ADRE, FIBU, DEBI, KRED, LOHN und PROJ.
 

 
No./Category   Question/Answer Back To Top
Is there any licence required to use AbaConnect interfaces ? 
GENERAL  The AbaConnect Framework is installed in a standard Abacus installation. There is no separate licence required to use the AbaConnect Framework, but depending on the specific AbaConnect interface, a licence option may be required to use the interface. Whether or not an AbaConnect interface requires a licence option is defined by the Application. A licence option may be required to use a single interface or a group of interfaces. There are a number of interfaces that do not require any special licence option and some require a licence option for import, but none for export. It is recommended to consult the particular Application support to clarify which licence options are necessary for a particular interface. If an AbaConnect interface requires a licence option, this licence option is required for export and import of data via the AbaConnect WebServices (e.g. for Find-Requests and Save-Request). NOte: Some interfaces containing master data (e.g. addresses, customers, suppliers), can sometimes be exported via the Abacus Menu P625 in an XML file, without the licence option.  

 
No./Category   Question/Answer Back To Top
What licence is necessary to use Dossiers via the AbaConnect interfaces ? 
GENERAL  The Dossier interface is a stand-alone, central interface (e.g. centraldossier_2014_00). Dossiers from various Abacus Applications can be exported and imported using the centraldossier_2014_00. Some application also integrate Dossiers directly into their application interfaces (e.g. LOHN HierachyEmployee_2015.00 and DocumentDossierAccountsReceivable_2009_00).

In order to export and import Dossier via the AbaCOnnect in interfaces it is necessary to have :
  • the Achivierung Application installed, and licenced.
  • the Mandant must be enabled for the Archivierung in AbaTools-Mandant-Freigeben
  • the Abacus User must be an "Archivierungs-User"
  • the interface must support Dossier import or export
If the interface is part of an application interface then it is also necessary to have the licence option necessary for that specific application interface.
Note : The best way to check Dossier access and configuration via AbaConnect is to export an interface via Prog 625 AbaConnect in the Abacus-UI, with the specific Abacus User
 

 
No./Category   Question/Answer Back To Top
How can Dossiers be exported and imported via AbaConnect ? 
GENERAL  Some of the AbaConnect interfaces suppoert dossier transfers, which allow files to be imported and exported via the interface. A list of the interfaces supporting dossier transfers can be found in the AbaConnect Interface Summary on the Abacus Homepage. If an application interface does not directly support Dossiers, then it may still be possible to use the Central-Dossier interface to transfer Dossiers to the Application. The Central-Dossier interface is a general Dossier interface, that can also be used to import and export Dossiers for specific Abacus Application and/or general central Dossiers.

EXPORT :
When an interface is exported with Dossiers via the Abacus Prog 625 AbaConnect, a ZIP file will be created. The ZIP file contains the exported AbaConnect XML file, with the Dossiers exported in a ZIP-folder called "bindata". The "bindata" folder contains the dossier files, which are referenced with the short file name in the XML-File.

When the interface supports a "Dossier"-Element in the structure, the reference field in the interface is generally via the <FileName>-Field. The file name in the interface XML structure is always specified without the path, only the short file name is used to reference the dossier file.

Other interfaces that support a single Dossier file without the "Dossier"-Element, will have a designated field in the interface structure, where the Dossier filename is specifed (e.g. <DocumentPicture>, <PortraitPicture>, etc.). Please refer to the interface documentation for specific details of these fields.

IMPORT :
An import XML-file has the same structure as an export file. The data can either be imported as a ZIP file (in the correct structure), or the XML Import file and Dossier files can be specified separately in the corresponding areas in the Prog 625 Import. In Prog 625 Import, the Dossier files, corresponding to Import XML file, can be added in panel "Binär Daten" on the right-hand side of the selected XML Import file.

A ZIP file must contains the import AbaConnect XML file, with the Dossiers specified in a ZIP-folder called "bindata". The dossier files in the "bindata" folder, are referenced in the interface XML structure via the short file name (identical to an exported ZIP file with Dossiers).

WEB SERVICES : For the interfaces supporting Dossier transfers, the Dossiers can also be transferred via AbaConnect WebServices. AbaConnect WebServices transfer the data and Dossier files via SOAP using the MTOM Standard. The Dossier files are transferred as attachments. The XML-Element fields used to reference the attachment "Name" in the XML structure via WebService, uses the same concept as transfer via the XML Import and Export file.

For further Abaconnect WebService examples using Dossiers, please refer the AbaConnect WebService on the Abacus Homepage. The ATK, DEBI, KRED, and LOHN AbaConnect WebService examples all have implementations of interfaces which demonstrate the use of Dossiers.

Note : The following prerequisites are required to transfer Dossiers via AbaConnect interfaces :
  • Abacus "Archivierung" must be installed and licenced
  • The Abacus User must be an "Archivierungs-User"
  • The Mandant must be activated for "Archivierung" (AbaTools-Mandant-Freigeben)
 

 
No./Category   Question/Answer Back To Top
What is the difference between AbaConnect ASCII and XML interfaces ? 
ABACONNECT XML  The AbaConnect Framework has been designed to support the previous ASCII interfaces. The newer AbaConnect interface are generally in XML format. ASCII formats can only be represented in a flat structure, whereas XML formats can support hierarchial structures containing child-nodes.  

 
No./Category   Question/Answer Back To Top
What is the difference between AbaConnect Flat and Hierarchy interfaces ? 
ABACONNECT XML  A flat AbaConnect interface has a simple XML data structure with one parent root node and a number of child nodes on the same level. A hierarchial interface can have multiple child-parent nodes nested at different levels in the data structure. A hierarchial interface can represent more complex data structures within a single inderface.  

 
No./Category   Question/Answer Back To Top
Does an AbaConnect Import XML File have to contain all the XML Element fields in the Default Mapping ? 
ABACONNECT XML  An AbaConnect XML Import file does not have to contain all the fields listed in the Default mapping (e.g. AbaDefault) for the interface. As a minimum, all mandatory fields must be present. Depending on particular Mandant settings and field dependencies, other filds may have to be present in order for the data to be succesfully imported.  

 
No./Category   Question/Answer Back To Top
What is the correct way to edit or save an XML file to retain the encoding in UTF-8 ? 
ABACONNECT XML  An XML File normally has the encoding specified on the first line of the XML file. AbaConnect XML files use as default the UTF-8 encoding. There are a number of Open Source tools available for editing XML with the correct encoding. The Windows Notepad Editor should not be used to save XML files because it does not always save the file with the correct encoding. Some examples of Open Source XML Editors are available from Syntext Serna Free (http://sourceforge.net/projects/sernafree.mirror) and Notepad++ (http://sourceforge.net/projects/notepad-plus/files)
A simple test to check most XML encoding problems is to open the XML file in the Internet Explorer. Encoding errors will normally be shown with an error message. Make sure to scroll to the end of the XML file in the Internet Browser when looking for errors.
If the XML file is written via a program, the program must use the defined encoding to write the XML file.
 

 
No./Category   Question/Answer Back To Top
10  What are special characters and how can they be represented in XML using UTF-8 encoding ? 
ABACONNECT XML  Because XML uses certain characters to format and represent the data (e.g. < > &), these characters must be represented with the following codes :
  • < must be written as &lt;
  • > must be written as &gt;
  • & must be written as &amp;
  • " can be written as &quot;
  • ' can be written as &apos;
When an XML file is saved with the correct encoding, most other special characters can be written normally. The saving of the XML file with the correct encoding will save the characters correctly. The default encoding for AbaConnect XML files is UTF-8.

Alternatively, special characters can be represented with a decimal code (&#<decimal-nummer>;) that is compatible with UTF-8. For Example :
  • ! can be represented as &#033;
  • % can be represented as &#037;
  • ä can be represented as &#228;
  • ö can be represented as &#246;
  • é can be represented as &#233;
  • € can be represented as &#8364;
The decimal codes are well documented on various internet sites (e.g. Wikipedia). This method is very useful to correct XML files with incorrect encodings. A small disadvantage is that the XML file is less readable in an editor when characters are represented in this way.
 

 
No./Category   Question/Answer Back To Top
11  How can I detect error responses during AbaConnect Command Line exports and imports ? 
COMMAND LINE  There are two types of errors that can occur when executing AbaConnect via the command line :

1. Normal messages that are logged in the AbaConnect response file.
2. Exception messages that interrupt the running process before it can be fully completed.

In the 1st case the error messages can be analysed in the repsonse file. The response file has the same format as the response file generated using the Abacus Menu Prog 625. The 2nd case is usually caused by bad command line arguements (e.g. Username and Password are incorrectly defined or AbaConnect interface ID, etc.). This may cause the command line process to end before a reponse file can be written.
Hint : It is recommended to always write a response file for AbaConnect command line (with "-responseYES") and after the execution, check if the response file was generated.
e.g.
rem Delete any existing files before running the AbaConnect command line
if NOT EXIST "x:\test_export.xml" del /Q "x:\test_export.xml"
if NOT EXIST "x:\test_response.xml" del /Q "x:\test_response.xml"

abaconnectexportconsole.exe "/USRAdministrator" "/PWeli" "-M7777" "-aADRE" "-P625" "-datamodeXML" "-version2007.10" "-acidContacts" "-mapidAbaDefault" "-responseYES" "-responsefilex:\test_response.xml" "-exportfilex:\test_export.xml"

if NOT EXIST "x:\test_export.xml" echo **** UNSUCCESSFUL : No export file found ! ****
if NOT EXIST "x:\test_response.xml" echo **** UNSUCCESSFUL : No response file found ! ****
 

 
No./Category   Question/Answer Back To Top
12  Where can I find the required parameters to export an AbaConnect interface via command line ? 
COMMAND LINE  The simplest way to obtain the required export parameters for an interface is to export the required interface via the Abacus Menu in Prog 625. The main parameters necessary for the command line are contained within the XML Export file header. Note : The AbaConnect Documentation exported from Abacus V2010 also has examples of the header information and command line parameters  

 
No./Category   Question/Answer Back To Top
13  How can I tell if an AbaConnect interface is accessible via WebServices ? 
WEB SERVICES  A list of AbaConnect WebServices is available on the Abacus Homepage under :

Downloads - AbaConnect WebServices (https://downloads.abacus.ch/downloads/abaconnect/webservices)

This page contains the WSDL's for the released AbaConnect WebServices. Many of the XML AbaConnect interfaces are also available as WebService, but if the WSDL for the interface is not listed on the Homepage, then the interface cannot be used via WebServices.
 

 
No./Category   Question/Answer Back To Top
14  How can I test if an Abacus installation supports AbaConnect WebServices ? 
WEB SERVICES  The AbaConnect WebServices are available with a standard Abacus Network-Server Installation. The AbaConnect WebService communication uses the AbaSioux. A simple tests to see if the connection to the AbaConnect WebServices is available is to use the standard ULC URL. For example on an Abacus Server computer (with default AbaSioux port 40000) the following URL links can be tested via the Internet Browser :

http://localhost:40000 - this should display the ULC start page

http://localhost:40000/abaconnect/services - this should display a message from AbaConnect
(e.g. "Welcome to AbaConnect-Webservices. For more Information see http://www.abacus.ch")

The same tests can also be extended to test over a network by replacing "localhost" with the Abacus Server computer name.
e.g. http://<Server-Computer-Name>:40000/abaconnect/services

If an connection error message (for the URL http://<Server-Computer-Name>:40000/abaconnect/services) is displayed in the Internet Browser e.g.
   Not found (404)
   The requested resource can not be found.
then the AbaConnect WebServices are not available.

Hint : The AbaConnect WebService Examples available on the Abacus Homepage can also be used to test AbaConnect WebService connections. Generally, the JAVA and Microsoft .NET AbaConnect examples include the compiled JAR-file or executable file in the example ZIP file. Provided that JAVA or Microsoft .NET Framework 4.0 is installed on a computer, these example JAR-file or executable files can be unpacked and run without the need to compile the supplied source code. More information about this is contained in the examples.
 

 
No./Category   Question/Answer Back To Top
15  How can Apache TCPMon be configured to view and save the SOAP messages ? 
WEB SERVICES  Information about how to configure the Apache TCPMon Utility for use with AbaConnect WebServices is on the Abacus Homepage under :

AbaConnect_TCPMon_de.pdf (https://downloads.abacus.ch/fileadmin/ablage/abaconnect/zipfiles/documents/AbaConnect_TCPMon_de.pdf)

Note : The Apache TCPMon is no longer actively developed by Apache, but the program and source code is still available from the Apache WebSite Archives

As of Abacus V2021 SP 15.03.2022 an extended version of the TCPMon Program is available on the Abacus-Installation in the Abacus Server folder : x:\abac\setup\tcpmon.zip

The TCPMon Program can be copied from this location and run with a JAVA command-line where JAVA is available. The Program is usually used on the same computer where the AbaConnect WebService Client program is running

The extended version of TCPMon has a few extra features that may be useful for modern connections, such as SSL connections to the server.
The use of extended Version is identical to the original version of TCPMon.
 

 
No./Category   Question/Answer Back To Top
16  Can the Abacus AbaEngine WebService be used for exporting data ? 
WEB SERVICES  One of the longest running WebServices in Abacus is the AbaEngine SOAP WebService. The AbaEngine SOAP WebService allows AbaReports to be accessed via WebService and can only be used for data export. The AbaEngine WebService IS NOT RELATED to the AbaConnect WebService, but it can sometimes be useful for exporting specific customized Abacus data via an AbaReport.
Downloads :
The AbaEngine examples demonstrate how an AbaView Report can be started via WebService using the AbaEngine SOAP Interface.
If Abacus is locally installed Further Information about the AbaEngine WebService is available via the URL :
Note : Abacus V2016 and higher
As of Abacus V2016 the AbaEngine SOAP WebService is not activated by default. The following entries are required in the Abacus System configuration files ("\abac\system\abasystem.properties") to activate the AbaEngine SOAP WebService :
   abaengine.soap.reports = true (true if AbaReports are being used)
   abaengine.soap.views = true (true if AbaViews are being used)

Note : If the "\abac\system\abasystem.properties" does not already exist, it can be created with a standard text editor. As of Abacus V2019, the settings can also be entered in the Abacus Service Manager. Please re-start the Abacus Services after changes to the "\abac\system\abasystem.properties" file.

Please Note : AbaView Reports must be saved as WebReports (*.avx) if they are to be used with the AbaEngine SOAP WebService The *.avx must be present in the x:\abac\kd\abav\web folder in order to be read via WebService

Abacus V2021: As of Abacus V2021 there is also an AbaReport REST-API available for accessing configured AbaReports via a REST-API WebService.
The functionality of the REST-API similar to the AbaEngine (SOAP) WebService. More information is available with the following link : AbaReport REST-API
 

 
No./Category   Question/Answer Back To Top
17  Where is more detailed information about developing with AbaConnect WebService ? 
WEB SERVICES  The following list are references to the general AbaConnect WebService Documentation on the Abacus Homepage
Downloads :
 

 
No./Category   Question/Answer Back To Top
18  How can User access be limited using AbaConnect.WebService.Users property ? 
WEB SERVICES  When the user log in fails via AbaConnect WebService with the following error message :
   Login failed for user: Administrator (unknown user or password, user is disabled, or user is not configured for AbaConnect.WebService.Users).
is a general error message by Login, and it usually means the user must be configured to have access via AbaConnect WebServices.
  • As of Abacus V2018 the User access to AbaConnect WebServices can be restricted using the "AbaConnect.WebService.Users" property in the "abasystems.properties" configuration file.
  • If the property is not defined, then access to AbaConnect WebServices is permitted for all normal Abacus Users
  • As of Abacus V2019, the access for the Administrator is not permitted by default. The Administrator must be explicitly defined to have access using the AbaConnect.WebService.Users property.
  • In a productive Abacus installation, it is not recommended to use the Administrator for AbaConnect WebService access (due to security reasons)
  • The Property can be set via the Abacus Service Manager program. The property value is a list of user names separated by a comma ",". (A colon ":" can also be used as separating character). User names containing spaces or commas will be entered with surrounding quotes ("), similar to CSV-Format.

Examples :

AbaConnect.WebService.Users=
No Users have access to AbaConnect WebServices

AbaConnect.WebService.Users=user1,user2
The users "user1" and "user2" have access to AbaConnect WebServices

When the error message appears by Login, the following check list should be assessed :
  • The User exists and the password is correct
  • The User has access to the Application and Mandant (this can be checked in Abacus Q681 User Management, and also by logging in via the Abacus Menu and exporting the AbaConnect interface in Prog 625)
  • User is not "inaktiv" (disabled) in Abacus Q681 User Management
  • The User is configured in "AbaConnect.WebService.User" Property in the "abasystems.properties" file (Property can also be configured in the Abacus Service Manager)
 

 
No./Category   Question/Answer Back To Top
19  What are the main differences between using AbaConnect WebServices and AbaConnect XML file ? 
WEB SERVICES  The data structure for AbaConnect XML files is the same as used for AbaConnect WebServices
The interface documentation is valid for the AbaConnect XML files and for WebService

Each AbaConnect Webservice call contains 1 data record, and each call is processed as 1 transaction.

In an AbaConnect XML file the standard and recommended process handling is also 1 data-record per transaction, although some interfaces may allow multiple data elements to be processed in 1 Transaction (e.g. Fibu-Bookings and Project-Bookings).
 

 
No./Category   Question/Answer Back To Top
20  Why can timeouts occur with .NET WebService Programs with Abacus V2019 ? 
WEB SERVICES  As of Abacus V2019, the standard WebServer is "AbaWebServer" (previously "AbaSioux"). The "AbaWebServer" may not interpret the Continue on 100, which may lead to timeouts on the client-side
One of the following methods can be used to deactivate .NET "Expect100Continue" configuration.
As of Abacus V2021 SP 15.03.2022 the "Expect100Continue" should be better supported by the Abacus WebServer "AbaWebServer". Source Code - Endpoint configuration : Directly configured o the Endpoint (following example with AbaEngine Service) :
   AbaEngineWrapperService abaEngineService = new AbaEngineWrapperService();
   abaEngineService.Url = connectionUrl;
   System.Net.ServicePoint servicePoint = System.Net.ServicePointManager.FindServicePoint(abaEngineService.Url, abaEngineService.Proxy);
   if (servicePoint != null)
   {
       servicePoint.Expect100Continue = false;
   }

Source Code - Global Einstellungen - Attention: this can affect other .NET Endpoints created after the .NET configuration has changed.
     System.Net.ServicePointManager.Expect100Continue = false;

// Note : this can also be done directly in the .NET configuration file
// with :
   <system.net>
     <settings>
       <servicePointManager expect100Continue="false" />
     </settings>
   </system.net>