public class

DynamicsCRMConnector

extends BaseDynamicsCRMConnector
java.lang.Object
   ↳ org.mule.module.dynamicscrm.BaseDynamicsCRMConnector
     ↳ org.mule.module.dynamicscrm.DynamicsCRMConnector
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

Microsoft Dynamics CRM 2011 Ondemand version

This connector allow the integration with MS Dynamics CRM 2011 Ondemand 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 Windows Live ID for Authentication.

To use this connector you need a Windows Live ID Account and a Microsoft Dynamics CRM (2011) Online Account

Summary

Fields
private int authenticationReintents If the authentication process against Mircosoft Live ID fails the first time the connector can retry the process a defined number of times.
protected final Log logger
private String username
[Expand]
Inherited Fields
From class org.mule.module.dynamicscrm.BaseDynamicsCRMConnector
Public Constructors
DynamicsCRMConnector()
Public Methods
void associate(String entityName, String entityId, Boolean relationshipEntityRoleIsReferenced, String relationshipSchemaName, List<Map<String, Object>> relatedEntitiesAttributes)
Associate a set of entities

void connect(String username, String password, String organizationServiceUrl)
Connect to MS Dynamics.
String create(String logicalName, Map<String, Object> entity)
Create entity

void delete(String logicalName, String guid)
Delete entity

synchronized void destroySession()
void disassociate(String entityName, String entityId, Boolean relationshipEntityRoleIsReferenced, String relationshipSchemaName, List<Map<String, Object>> relatedEntitiesAttributes)
Disassociate a set of entities

Map<String, Object> execute(String requestName, String requestGuid, Map<String, Object> requestParameters)
Execute a business logic method

int getAuthenticationReintents()
MetaData getMetadata(MetaDataKey key)
List<MetaDataKey> getMetadataKeys()
String getSessionId()
Returns the session id for the current connection
boolean isConnected()
Map<String, Object> retrieve(String logicalName, String guid, List<String> attributes)
Retrieve entity

List<Map<String, Object>> retrieveMultipleByAttributes(String entityName, List<String> columns, List<String> attributes, List<String> values, Map<String, String> orders, Integer count, Integer pageNumber, String pagingCookie, Boolean returnTotalRecordCount)
This method is deprecated. Use retrieveMultipleByQuery instead
PagingDelegate<Map<String, Object>> retrieveMultipleByQuery(DsqlQuery query, PagingConfiguration pagingConfiguration)
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

void setAuthenticationReintents(int authenticationReintents)
void update(String logicalName, String guid, Map<String, Object> attributesToUpdate)
Update entity

[Expand]
Inherited Methods
From class org.mule.module.dynamicscrm.BaseDynamicsCRMConnector
From class java.lang.Object

Fields

private int authenticationReintents

If the authentication process against Mircosoft Live ID fails the first time the connector can retry the process a defined number of times.

protected final Log logger

private String username

Public Constructors

public DynamicsCRMConnector ()

Public Methods

public void associate (String entityName, String entityId, Boolean relationshipEntityRoleIsReferenced, String relationshipSchemaName, List<Map<String, Object>> relatedEntitiesAttributes)

Associate a set of entities

Parameters
entityName Logical name of entity
entityId Guid of entity in string form
relationshipEntityRoleIsReferenced If the role of the entity is "Referenced" (true) of "Referencing" (false)
relationshipSchemaName The type of relationship
relatedEntitiesAttributes List of the attributes of related entities
Throws
IOrganizationServiceAssociateOrganizationServiceFaultFaultFaultMessage If associate fails

public void connect (String username, String password, String organizationServiceUrl)

Connect to MS Dynamics.

Parameters
username The username of the Dynamics CRM (example: user@company.onmicrosoft.com).
password The password of the user of the Dynamics CRM.
organizationServiceUrl The organization Url. This can be found inside the Dynamics CRM system. For more detail where to find this parameter check this link
Throws
ConnectionException

public String create (String logicalName, Map<String, Object> entity)

Create entity

Parameters
logicalName A logical name
entity An entity object represented as a map
Returns
  • The GUID of the created entity.
Throws
IOrganizationServiceCreateOrganizationServiceFaultFaultFaultMessage If create fails
IOrganizationServiceExecuteOrganizationServiceFaultFaultFaultMessage If execute fails

public void delete (String logicalName, String guid)

Delete entity

Parameters
logicalName Logical name of the entity to be updated
guid The guid of the entity to be retrieved
Throws
IOrganizationServiceDeleteOrganizationServiceFaultFaultFaultMessage If delete fails

public synchronized void destroySession ()

public void disassociate (String entityName, String entityId, Boolean relationshipEntityRoleIsReferenced, String relationshipSchemaName, List<Map<String, Object>> relatedEntitiesAttributes)

Disassociate a set of entities

Parameters
entityName Logical name of entity
entityId Guid of entity in string form
relationshipEntityRoleIsReferenced If the role of the entity is "Referenced" (true) of "Referencing" (false)
relationshipSchemaName The type of relationship
relatedEntitiesAttributes List of the attributes of related entities
Throws
IOrganizationServiceDisassociateOrganizationServiceFaultFaultFaultMessage If disassociate fails

public Map<String, Object> execute (String requestName, String requestGuid, Map<String, Object> requestParameters)

Execute a business logic method

Parameters
requestName Logical name of request to be made
requestGuid The guid of the request to me made
requestParameters A collection of parameters to the request in Map form
Returns
  • organization response to execute request
Throws
IOrganizationServiceExecuteOrganizationServiceFaultFaultFaultMessage If execute fails

public int getAuthenticationReintents ()

public MetaData getMetadata (MetaDataKey key)

Parameters
key
Throws
IOrganizationServiceExecuteOrganizationServiceFaultFaultFaultMessage

public List<MetaDataKey> getMetadataKeys ()

Throws
IOrganizationServiceExecuteOrganizationServiceFaultFaultFaultMessage

public String getSessionId ()

Returns the session id for the current connection

Returns
  • the session id for the current connection

public boolean isConnected ()

public Map<String, Object> retrieve (String logicalName, String guid, List<String> attributes)

Retrieve entity

Parameters
logicalName Name od the entity to be retrieved
guid The guid of the entity to be retrieved
attributes Attributes that will be retrieved from the entity specified
Returns
  • attributes of specified entity in Map form
Throws
IOrganizationServiceRetrieveOrganizationServiceFaultFaultFaultMessage If retrieve fails

public List<Map<String, Object>> retrieveMultipleByAttributes (String entityName, List<String> columns, List<String> attributes, List<String> values, Map<String, String> orders, Integer count, Integer pageNumber, String pagingCookie, Boolean returnTotalRecordCount)

This method is deprecated.
Use retrieveMultipleByQuery instead

Retrieve multiple entities by attributes values and sorting options

Parameters
entityName Name of the entity type
columns Columns to retrieve
attributes Attributes to filter by
values Values of the attributes
orders Ordering fields, key is the name, value is "Ascending" or "Descending"
count Number of rows to retrieve
pageNumber Number of page to retrieve
pagingCookie Paging cookie
returnTotalRecordCount If total record count should be returned
Returns
  • entities retrieved
Throws
IOrganizationServiceRetrieveMultipleOrganizationServiceFaultFaultFaultMessage If retrieveMultiple fails

public PagingDelegate<Map<String, Object>> retrieveMultipleByQuery (DsqlQuery query, PagingConfiguration pagingConfiguration)

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

Parameters
query Query XML
pagingConfiguration The configuration for the pagination feature
Returns
  • A paging delegate with all the entities. This handles pagination internally on-demand.
Throws
IOrganizationServiceRetrieveMultipleOrganizationServiceFaultFaultFaultMessage If retrieveMultiple fails

public void setAuthenticationReintents (int authenticationReintents)

Parameters
authenticationReintents

public void update (String logicalName, String guid, Map<String, Object> attributesToUpdate)

Update entity

Parameters
logicalName Logical name of the entity to be updated
guid The guid of the entity to be retrieved
attributesToUpdate The attributes that will be updated, in Map form
Throws
IOrganizationServiceUpdateOrganizationServiceFaultFaultFaultMessage If update fails
IOrganizationServiceRetrieveOrganizationServiceFaultFaultFaultMessage If update fails
IOrganizationServiceExecuteOrganizationServiceFaultFaultFaultMessage If execute fails