public abstract class

BaseDynamicsCRMConnector

extends Object
java.lang.Object
   ↳ org.mule.module.dynamicscrm.BaseDynamicsCRMConnector
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 final Pattern PATTERN_TOKEN_EXPIRATION_EXCEPTION
private IOrganizationService client
protected final Log logger
Public Constructors
BaseDynamicsCRMConnector()
Public Methods
void associate(String entityName, String entityId, Boolean relationshipEntityRoleIsReferenced, String relationshipSchemaName, List<Map<String, Object>> relatedEntitiesAttributes)
Associate a set of entities
String create(String logicalName, Map<String, Object> entity)
Create entity
void delete(String logicalName, String guid)
Delete entity
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
IOrganizationService getClient()
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)
Retrieve multiple entities by attributes values and sorting options
List<Map<String, Object>> retrieveMultipleByQuery(String queryXml)
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 setClient(IOrganizationService client)
void update(String logicalName, String guid, Map<String, Object> attributesToUpdate)
Update entity
[Expand]
Inherited Methods
From class java.lang.Object

Fields

private final Pattern PATTERN_TOKEN_EXPIRATION_EXCEPTION

private IOrganizationService client

protected final Log logger

Public Constructors

public BaseDynamicsCRMConnector ()

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
ConnectionException If the credentials has expired. This will generate a reconnection attempt

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
ConnectionException If the credentials has expired. This will generate a reconnection attempt

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
ConnectionException If the credentials has expired. This will generate a reconnection attempt

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
ConnectionException If the credentials has expired. This will generate a reconnection attempt

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
ConnectionException If the credentials has expired. This will generate a reconnection attempt

public IOrganizationService getClient ()

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
ConnectionException If the credentials has expired. This will generate a reconnection attempt

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)

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
ConnectionException If the credentials has expired. This will generate a reconnection attempt

public List<Map<String, Object>> retrieveMultipleByQuery (String queryXml)

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
queryXml Query XML
Returns
  • entities retrieved
Throws
IOrganizationServiceRetrieveMultipleOrganizationServiceFaultFaultFaultMessage If retrieveMultiple fails
ConnectionException If the credentials has expired. This will generate a reconnection attempt

public void setClient (IOrganizationService client)

Parameters
client

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
ConnectionException If the credentials has expired. This will generate a reconnection attempt