| Namespace | http://www.mulesoft.org/schema/mule/dynamicscrm-onpremise |
|---|---|
| Schema Location | http://www.mulesoft.org/schema/mule/dynamicscrm-onpremise/current/mule-dynamicscrm-onpremise.xsd (View Schema) |
| Schema Version | 2.0 |
| Minimum Mule Version | 3.5 |
Microsoft Dynamics CRM 2011 Onpremise version
This connector allow the integration with MS Dynamics CRM 2011 Onpremise version. The service of MS Dynamics CRM provide a few operations that are extensible for all the entities (default and custom) created. A list of the default entities can be found in the MSDN documentation link: "http://msdn.microsoft.com/en-us/library/bb959317.aspx The connector uses Kerberos/SPNEGO with Active Directory for Authentication. If you are going to use this connector be sure to have your environment well configured. This requires a CRM Onpremise 2011 Server (Windows 2008 Server x64) running in a Active Directory Domain with a SPN configured over HTTP/... Also the DNS configuration for the CRM server and the Kerberos/AD server. Debug purposes: --------------- To add debug in Kerberos/SPNEGO flow add this parameters in the VM params: -Dsun.security.krb5.debug=true -Dsun.security.spnego.debug=true Login Config File ----------------- Create a new file with the next configuration in your server: ******************************************************************************************** Kerberos { com.sun.security.auth.module.Krb5LoginModule required debug=true; }; ******************************************************************************************** i.e. In this case, Kerberos is the only module configured, and it will be the param to be used in loginConfigModule=Kerberos Kerberos Config File -------------------- Create a new file with the next configuration in your server: ******************************************************************************************** [libdefaults] default_realm = <YOUR_REALM> default_tkt_enctypes = rc4-hmac aes128-cts des3-cbc-sha1 des-cbc-md5 des-cbc-crc default_tgs_enctypes = rc4-hmac aes128-cts des3-cbc-sha1 des-cbc-md5 des-cbc-crc permitted_enctypes = rc4-hmac aes128-cts des3-cbc-sha1 des-cbc-md5 des-cbc-crc [realms] <YOUR_REALM> = { kdc = <Kerberos_location> default_domain = <YOUR_REALM> } [domain_realm] .<your_realm> = <YOUR_REALM> <your_realm> = <YOUR_REALM> ******************************************************************************************** Please note the upper and lower case.| Configuration | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Configure an instance of this module
| |||||||||||
| Message Processors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Associate a set of entities
| |||||||||||
Create entity
| |||||||||||
Delete entity
| |||||||||||
Disassociate a set of entities
| |||||||||||
Execute a business logic method
| |||||||||||
Retrieve entity
| |||||||||||
This method is deprecated.
Use retrieveMultipleByQuery instead
| |||||||||||
Retrieve multiple entities by a query described by and XML
The definition of the Microsoft XML Query Language can be found in the Schema Definition in this link: http://msdn.microsoft.com/en-us/library/bb930489.aspx
The aggregation examples can be found in this link: http://msdn.microsoft.com/en-us/library/gg309565.aspx
| |||||||||||
Update entity
| |||||||||||
To use the this module within a flow the namespace to the module must be included. The resulting flow will look similar to the following:
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dynamicscrm-onpremise="http://www.mulesoft.org/schema/mule/dynamicscrm-onpremise"
xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/dynamicscrm-onpremise
http://www.mulesoft.org/schema/mule/dynamicscrm-onpremise/current/mule-dynamicscrm-onpremise.xsd">
<!-- here goes your flows and configuration elements -->
</mule>
This connector offers automatic connection management via the use of a connection pool. The pool will act a storage mechanism for all the connections that are in-use by the user of this connector.
Prior to execution of a processor, the connector will attempt to lookup an already established connection and if one doesn't exists it will create one. That lookup mechanism is done in the connection pool via the use of connection variables declared as keys.
The user of the connector can configure the pool by adding a connection-pooling-profile to the connector configuration like this:
<dynamicscrm-onpremise:connection-pooling-profile maxActive="10" maxIdle="10"
exhaustedAction="WHEN_EXHAUSTED_GROW" maxWait="120" minEvictionMillis="60000" evictionCheckIntervalMillis="30000"/>
The following is a list of connection attributes, each connection attribute can be configured at the config element level or they can also be added to each processor. If they are used at the processor level they get the benefit of full expression resolution.
| Connection Attributes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
| Optional. Specify which configuration to use. | |||||||||||
| Username | String | */* | UTF-8 | ||||||||
| Password | String | */* | UTF-8 | ||||||||
| The path to the MS Dynamics Configuration scv | String | */* | UTF-8 | ||||||||
| The Service Provider Name of the Dynamics Server in OnPremise mode (this can be found in the organizationServiceUrl, under \ |
String | */* | UTF-8 | ||||||||
| Optional. The realm of the Authentication server (generally in upper case format)
Generate a default config file using only as dinamic parameters the realm and the kdcLocation The configuration generated is:
|
String | */* | UTF-8 | ||||||||
| Optional. The location of the Authentication server (used in the config example for realm paramameter) | String | */* | UTF-8 | ||||||||
| Optional. If this is specified realm and kdcLocation are ignored. You can pass the Kerberos config file as a raw String with line breaks using the ? (interrogation) character | String | */* | UTF-8 | ||||||||
Reconnection Strategies specify how a connector behaves when its connection fails. You can control how Mule attempts to reconnect by specifying a number of criteria:
With a reconnection strategy, you can better control the behavior of a failed connection, by configuring it, for example, to re-attempt the connection only once every 15 minutes, and to give up after 30 attempts. You can also send an automatic notification to your IT administrator whenever this reconnection strategy goes into effect. You can even define a strategy that attempts to reconnect only during business hours. Such a setting can prove useful if your server is frequently shut down for nightly maintenance.
A reconnection strategy that allows the user to configure how many times a reconnection should be attempted and how long to wait between attempts.
<dynamicscrm-onpremise:config>
<reconnect count="5" frequency="1000"/>
</dynamicscrm-onpremise:config>
| Reconnect Attributes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Name | Default Value | Description | |||||||||
| Optional. How often (in ms) to reconnect | |||||||||||
| Optional. How many reconnection attempts to make | |||||||||||
For more information about reconnection strategies in Mule, or even how to write your own custom reconnection strategy please check this section.
Associate a set of entities
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| Logical name of entity | String | */* | UTF-8 | ||||||||
| Guid of entity in string form | String | */* | UTF-8 | ||||||||
| If the role of the entity is "Referenced" (true) of "Referencing" (false) | Boolean | */* | |||||||||
| The type of relationship | String | */* | UTF-8 | ||||||||
| Connection Parameters This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation. | |||||||||||
| Optional. Username | String | */* | UTF-8 | ||||||||
| Optional. Password | String | */* | UTF-8 | ||||||||
| Optional. The path to the MS Dynamics Configuration scv | String | */* | UTF-8 | ||||||||
| Optional. The Service Provider Name of the Dynamics Server in OnPremise mode (this can be found in the organizationServiceUrl, under \ |
String | */* | UTF-8 | ||||||||
| Optional. The realm of the Authentication server (generally in upper case format)
Generate a default config file using only as dinamic parameters the realm and the kdcLocation The configuration generated is:
|
String | */* | UTF-8 | ||||||||
| Optional. The location of the Authentication server (used in the config example for realm paramameter) | String | */* | UTF-8 | ||||||||
| Optional. If this is specified realm and kdcLocation are ignored. You can pass the Kerberos config file as a raw String with line breaks using the ? (interrogation) character | String | */* | UTF-8 | ||||||||
| Name | Default Value | Description | Java Type |
|---|---|---|---|
| List of the attributes of related entities | List<Map<String, Object>> |
| Payload Class | Description |
|---|---|
| IOrganizationServiceAssociateOrganizationServiceFaultFaultFaultMessage | If associate fails |
Create entity
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| A logical name | String | */* | UTF-8 | ||||||||
| Connection Parameters This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation. | |||||||||||
| Optional. Username | String | */* | UTF-8 | ||||||||
| Optional. Password | String | */* | UTF-8 | ||||||||
| Optional. The path to the MS Dynamics Configuration scv | String | */* | UTF-8 | ||||||||
| Optional. The Service Provider Name of the Dynamics Server in OnPremise mode (this can be found in the organizationServiceUrl, under \ |
String | */* | UTF-8 | ||||||||
| Optional. The realm of the Authentication server (generally in upper case format)
Generate a default config file using only as dinamic parameters the realm and the kdcLocation The configuration generated is:
|
String | */* | UTF-8 | ||||||||
| Optional. The location of the Authentication server (used in the config example for realm paramameter) | String | */* | UTF-8 | ||||||||
| Optional. If this is specified realm and kdcLocation are ignored. You can pass the Kerberos config file as a raw String with line breaks using the ? (interrogation) character | String | */* | UTF-8 | ||||||||
| Name | Default Value | Description | Java Type |
|---|---|---|---|
| #[payload] | Optional. An entity object represented as a map | Map<String, Object> |
| Return Type | Description |
|---|---|
| String | The GUID of the created entity. |
| Payload Class | Description |
|---|---|
| IOrganizationServiceCreateOrganizationServiceFaultFaultFaultMessage | If create fails |
| IOrganizationServiceExecuteOrganizationServiceFaultFaultFaultMessage | If execute fails |
Delete entity
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| Logical name of the entity to be updated | String | */* | UTF-8 | ||||||||
| The guid of the entity to be retrieved | String | */* | UTF-8 | ||||||||
| Connection Parameters This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation. | |||||||||||
| Optional. Username | String | */* | UTF-8 | ||||||||
| Optional. Password | String | */* | UTF-8 | ||||||||
| Optional. The path to the MS Dynamics Configuration scv | String | */* | UTF-8 | ||||||||
| Optional. The Service Provider Name of the Dynamics Server in OnPremise mode (this can be found in the organizationServiceUrl, under \ |
String | */* | UTF-8 | ||||||||
| Optional. The realm of the Authentication server (generally in upper case format)
Generate a default config file using only as dinamic parameters the realm and the kdcLocation The configuration generated is:
|
String | */* | UTF-8 | ||||||||
| Optional. The location of the Authentication server (used in the config example for realm paramameter) | String | */* | UTF-8 | ||||||||
| Optional. If this is specified realm and kdcLocation are ignored. You can pass the Kerberos config file as a raw String with line breaks using the ? (interrogation) character | String | */* | UTF-8 | ||||||||
| Payload Class | Description |
|---|---|
| IOrganizationServiceDeleteOrganizationServiceFaultFaultFaultMessage | If delete fails |
Disassociate a set of entities
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| Logical name of entity | String | */* | UTF-8 | ||||||||
| Guid of entity in string form | String | */* | UTF-8 | ||||||||
| If the role of the entity is "Referenced" (true) of "Referencing" (false) | Boolean | */* | |||||||||
| The type of relationship | String | */* | UTF-8 | ||||||||
| Connection Parameters This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation. | |||||||||||
| Optional. Username | String | */* | UTF-8 | ||||||||
| Optional. Password | String | */* | UTF-8 | ||||||||
| Optional. The path to the MS Dynamics Configuration scv | String | */* | UTF-8 | ||||||||
| Optional. The Service Provider Name of the Dynamics Server in OnPremise mode (this can be found in the organizationServiceUrl, under \ |
String | */* | UTF-8 | ||||||||
| Optional. The realm of the Authentication server (generally in upper case format)
Generate a default config file using only as dinamic parameters the realm and the kdcLocation The configuration generated is:
|
String | */* | UTF-8 | ||||||||
| Optional. The location of the Authentication server (used in the config example for realm paramameter) | String | */* | UTF-8 | ||||||||
| Optional. If this is specified realm and kdcLocation are ignored. You can pass the Kerberos config file as a raw String with line breaks using the ? (interrogation) character | String | */* | UTF-8 | ||||||||
| Name | Default Value | Description | Java Type |
|---|---|---|---|
| List of the attributes of related entities | List<Map<String, Object>> |
| Payload Class | Description |
|---|---|
| IOrganizationServiceDisassociateOrganizationServiceFaultFaultFaultMessage | If disassociate fails |
Execute a business logic method
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| Logical name of request to be made | String | */* | UTF-8 | ||||||||
| Optional. The guid of the request to me made | String | */* | UTF-8 | ||||||||
| Connection Parameters This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation. | |||||||||||
| Optional. Username | String | */* | UTF-8 | ||||||||
| Optional. Password | String | */* | UTF-8 | ||||||||
| Optional. The path to the MS Dynamics Configuration scv | String | */* | UTF-8 | ||||||||
| Optional. The Service Provider Name of the Dynamics Server in OnPremise mode (this can be found in the organizationServiceUrl, under \ |
String | */* | UTF-8 | ||||||||
| Optional. The realm of the Authentication server (generally in upper case format)
Generate a default config file using only as dinamic parameters the realm and the kdcLocation The configuration generated is:
|
String | */* | UTF-8 | ||||||||
| Optional. The location of the Authentication server (used in the config example for realm paramameter) | String | */* | UTF-8 | ||||||||
| Optional. If this is specified realm and kdcLocation are ignored. You can pass the Kerberos config file as a raw String with line breaks using the ? (interrogation) character | String | */* | UTF-8 | ||||||||
| Name | Default Value | Description | Java Type |
|---|---|---|---|
| A collection of parameters to the request in Map |
Map<String, Object> |
| Return Type | Description |
|---|---|
| Map<String, Object> | organization response to execute request |
| Payload Class | Description |
|---|---|
| IOrganizationServiceExecuteOrganizationServiceFaultFaultFaultMessage | If execute fails |
Retrieve entity
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| Name od the entity to be retrieved | String | */* | UTF-8 | ||||||||
| The guid of the entity to be retrieved | String | */* | UTF-8 | ||||||||
| Connection Parameters This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation. | |||||||||||
| Optional. Username | String | */* | UTF-8 | ||||||||
| Optional. Password | String | */* | UTF-8 | ||||||||
| Optional. The path to the MS Dynamics Configuration scv | String | */* | UTF-8 | ||||||||
| Optional. The Service Provider Name of the Dynamics Server in OnPremise mode (this can be found in the organizationServiceUrl, under \ |
String | */* | UTF-8 | ||||||||
| Optional. The realm of the Authentication server (generally in upper case format)
Generate a default config file using only as dinamic parameters the realm and the kdcLocation The configuration generated is:
|
String | */* | UTF-8 | ||||||||
| Optional. The location of the Authentication server (used in the config example for realm paramameter) | String | */* | UTF-8 | ||||||||
| Optional. If this is specified realm and kdcLocation are ignored. You can pass the Kerberos config file as a raw String with line breaks using the ? (interrogation) character | String | */* | UTF-8 | ||||||||
| Name | Default Value | Description | Java Type |
|---|---|---|---|
| Attributes that will be retrieved from the entity specified | List<String> |
| Return Type | Description |
|---|---|
| Map<String, Object> | attributes of specified entity in Map |
| Payload Class | Description |
|---|---|
| IOrganizationServiceRetrieveOrganizationServiceFaultFaultFaultMessage | If retrieve fails |
This method is deprecated.
Use retrieveMultipleByQuery instead
Retrieve multiple entities by attributes values and sorting options
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| Name of the entity type | String | */* | UTF-8 | ||||||||
| Optional. Number of rows to retrieve | Integer | */* | |||||||||
| Optional. Number of page to retrieve | Integer | */* | |||||||||
| Optional. Paging cookie | String | */* | UTF-8 | ||||||||
| Optional. If total record count should be returned | Boolean | */* | |||||||||
| Connection Parameters This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation. | |||||||||||
| Optional. Username | String | */* | UTF-8 | ||||||||
| Optional. Password | String | */* | UTF-8 | ||||||||
| Optional. The path to the MS Dynamics Configuration scv | String | */* | UTF-8 | ||||||||
| Optional. The Service Provider Name of the Dynamics Server in OnPremise mode (this can be found in the organizationServiceUrl, under \ |
String | */* | UTF-8 | ||||||||
| Optional. The realm of the Authentication server (generally in upper case format)
Generate a default config file using only as dinamic parameters the realm and the kdcLocation The configuration generated is:
|
String | */* | UTF-8 | ||||||||
| Optional. The location of the Authentication server (used in the config example for realm paramameter) | String | */* | UTF-8 | ||||||||
| Optional. If this is specified realm and kdcLocation are ignored. You can pass the Kerberos config file as a raw String with line breaks using the ? (interrogation) character | String | */* | UTF-8 | ||||||||
| Name | Default Value | Description | Java Type |
|---|---|---|---|
| Columns to retrieve | List<String> | ||
| Attributes to filter by | List<String> | ||
| Values of the attributes | List<String> | ||
| Optional. Ordering fields, key is the name, value is "Ascending" or "Descending" | Map<String, String> |
| Return Type | Description |
|---|---|
| List<Map<String, Object>> | entities retrieved |
| Payload Class | Description |
|---|---|
| IOrganizationServiceRetrieveMultipleOrganizationServiceFaultFaultFaultMessage | If retrieveMultiple fails |
Retrieve multiple entities by a query described by and XML
The definition of the Microsoft XML Query Language can be found in the Schema Definition in this link: http://msdn.microsoft.com/en-us/library/bb930489.aspx The aggregation examples can be found in this link: http://msdn.microsoft.com/en-us/library/gg309565.aspxThis operation can potentially return a large amount of records that might exceed memory capacity.
To prevent this from being a problem, the output of this operation is automatically paginated into an iterable collection of objects. Regardless of the page-size, the iterator will be pushing out registries one at a time and fetching next pages on demand. If you wish to take advantage of the pagination, you must process the output through elements that can handle collections, such as a ForEach scope or DataMapper. In this way, Mule will execute the entire set of registries one at a time, but processing only a batch at a time and thus keeping memory usage from going over limits.
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| Query XML | DsqlQuery | */* | |||||||||
| 100 | Specify the number of objects that will be returned in each iteration | int | |||||||||
| Connection Parameters This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation. | |||||||||||
| Optional. Username | String | */* | UTF-8 | ||||||||
| Optional. Password | String | */* | UTF-8 | ||||||||
| Optional. The path to the MS Dynamics Configuration scv | String | */* | UTF-8 | ||||||||
| Optional. The Service Provider Name of the Dynamics Server in OnPremise mode (this can be found in the organizationServiceUrl, under \ |
String | */* | UTF-8 | ||||||||
| Optional. The realm of the Authentication server (generally in upper case format)
Generate a default config file using only as dinamic parameters the realm and the kdcLocation The configuration generated is:
|
String | */* | UTF-8 | ||||||||
| Optional. The location of the Authentication server (used in the config example for realm paramameter) | String | */* | UTF-8 | ||||||||
| Optional. If this is specified realm and kdcLocation are ignored. You can pass the Kerberos config file as a raw String with line breaks using the ? (interrogation) character | String | */* | UTF-8 | ||||||||
| Return Type | Description |
|---|---|
| Iterator < Map<String, Object> > | A collection: each index contains a list of objects, each object with its own set of properties. It is possible to process it in parts thanks to its pagination. |
| Payload Class | Description |
|---|---|
| IOrganizationServiceRetrieveMultipleOrganizationServiceFaultFaultFaultMessage | If retrieveMultiple fails |
Update entity
INCLUDE_ERROR
| Name | Default Value | Description | Java Type | MIME Type | Encoding | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Optional. Specify which configuration to use. | |||||||||||
| Logical name of the entity to be updated | String | */* | UTF-8 | ||||||||
| The guid of the entity to be retrieved | String | */* | UTF-8 | ||||||||
| Connection Parameters This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation. | |||||||||||
| Optional. Username | String | */* | UTF-8 | ||||||||
| Optional. Password | String | */* | UTF-8 | ||||||||
| Optional. The path to the MS Dynamics Configuration scv | String | */* | UTF-8 | ||||||||
| Optional. The Service Provider Name of the Dynamics Server in OnPremise mode (this can be found in the organizationServiceUrl, under \ |
String | */* | UTF-8 | ||||||||
| Optional. The realm of the Authentication server (generally in upper case format)
Generate a default config file using only as dinamic parameters the realm and the kdcLocation The configuration generated is:
|
String | */* | UTF-8 | ||||||||
| Optional. The location of the Authentication server (used in the config example for realm paramameter) | String | */* | UTF-8 | ||||||||
| Optional. If this is specified realm and kdcLocation are ignored. You can pass the Kerberos config file as a raw String with line breaks using the ? (interrogation) character | String | */* | UTF-8 | ||||||||
| Name | Default Value | Description | Java Type |
|---|---|---|---|
| #[payload] | Optional. The attributes that will be updated, in Map |
Map<String, Object> |
| Payload Class | Description |
|---|---|
| IOrganizationServiceUpdateOrganizationServiceFaultFaultFaultMessage | If update fails |
| IOrganizationServiceRetrieveOrganizationServiceFaultFaultFaultMessage | If update fails |
| IOrganizationServiceExecuteOrganizationServiceFaultFaultFaultMessage | If execute fails |