In the providers configuration file providers.xml you configure which requests are processed by which providers and how the requests are routed within the Invantive Web Service. The possibilities are described in the sample file providers.xml.sample:
<?xml version="1.0" encoding="utf-8"?>
<!--
(C) 2004-2013 Invantive BV, the Netherlands (www.invantive.com).
$Header: http://svn.invantive.com/repos/p104/trunk/help/nl/manual/Topics/bubs-Providers_Configuratie.xml 23549 2013-11-01 14:21:27Z smoke $
Configuration of providers for Invantive Webservice
Purpose:
You can configure providers here, sorted by order.
Providers are tried to handle a request in decreasing order. So the provider with order 500 is offered
the request before the provider with order 400 is offered the request.
Providers with order 70, 80, 90, 100 and 200 are reserved for Invantive internal use (see the table below).
Explanation:
Providers are used to provide functionality that is not part of the webservice.
A provider knows how to handle a specific action on a specific platform.
Some providers are included in the installation, such as providers for database or webservice connectivity or a file logging provider.
The default providers are included in the software, so they are not listed here between the <providers> tag.
A provider does in general NOT define WHERE the action will be executed. That is normally specified by the settings.xml.
But specific providers may contain the location WHERE the action will be executed as default value or specified as attributes
with the provider's configuration.
Default providers:
The default providers are always available.
A list of the default providers and there order (which cannot be used again):
Order Name Comments
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
70 Oracle MySQL Provider supporting the execution of actions on Oracle MySQL.
Built and tested with Connector/Net 6.7.4. See http://dev.mysql.com/doc/refman/5.6/en/connector-net.html.
File: Invantive.Data.Providers.MySql.dll
80 Microsoft SQL Server Provider supporting the execution of actions onMicrosoft SQL server 7.0 and later.
See http://msdn.microsoft.com/en-us/library/kb9s9ks0.aspx.
File: Invantive.Data.Providers.SqlServer.dll
90 IBM DB2 UDB Provider supporting the execution of actions onIBM DB2 UDB 9.7 for Windows.
Not tested on any other version.
File: Invantive.Data.Providers.IbmDb2.dll
100 Oracle RDBMS Provider supporting the execution of actions onOracle RDBMS 9i - 12c.
Needs ODP.NET and OCI to be installed.
File: Invantive.Data.Providers.Oracle.dll
200 Invantive Webservice Provider that is executing action by forwarding it to another Invantive Webservice over HTTP/HTTPS.
File: Invantive.Data.Providers.Webservice.dll
Order 200 ensures that forwaring is preferred instead of a database connection by default.
The providers tag contains a list of providers available, each one consisting of the provider-tag.
Attributes of the <provider> tag:
* "order": Sorting order of the provider. The higher the value, the sooner it is called.
* "file": The file name of the provider. This can be a path relative to the Providers directory, or an absolute path.
Fully specify the path or use a path relative to the Invantive Webservice installation folder.
Do not use the ASP.NET/IIS ~/-prefix to indicate the current folder.
* "class": Optional. Full class name of the provider. You can specify the class name to increase startup performance since
it reduces the time needed querying the file.
You need to specify the class if you want to load a single provider in a file that contains multiple providers.
The elements of the <provider> tag:
* All: you can specify elements within the provider tag. See for instance the <templatesfolder> element
in the example below.
Their names and values will be passed as attributes to the provider during instantiation.
Example:
<providers>
<provider
order="998"
file="C:\ws\distribute\invantive-sdk\Invantive.XXX.Provider.dll"
class="Invantive.XXX.Provider.Provider"
>
<templatesfolder>C:\temp\templates\</templatesfolder>
<serviceurl>http://localhost/ThisIsAnExmaple/Service.svc</serviceurl>
</provider>
<providers>
-->
<providers>
<!-- Custom logging. -->
<!--
<provider
order="999"
file="C:\ws\distribute\invantive-sdk\Invantive.Data.Providers.Logging.dll"
class="Invantive.Data.LoggingProvider"
>
<log>C:\temp\invantive_logging.log</log>
</provider>
-->
<!-- Most preferred provider due to order 400.
Data access provider for Invantive Estate and/or Invantive Vision.
Generates an Oracle SQL execute request. Invantive Estate and
Invantive Vision currently only support the Oracle RDBMS.
-->
<!--
<provider
order="400"
file="Invantive.Estate.Data.Provider.dll"
class="Invantive.Estate.Data.InvantiveEstateDataProvider"
/>
-->
<!-- Less preferred provider due to order 300.
Data access provider for Invantive Producer products.
The following Invantive Producer products require the use of Oracle RDBMS:
* Invantive Studio
* Invantive Query Tool
The following Invantive Producer products run with all supported database platforms
although this specific provider does not yet support it. Use a database specific
provider instead:
* Invantive Composition
* Invantive Control
-->
<!--
<provider
order="300"
file="Invantive.Producer.Data.Provider.dll"
class="Invantive.Producer.Data.InvantiveProducerDataProvider"
/>
-->
</providers>