Web Service Access to Customizations
Web Service Access to Customizations
There are several different aspects of customizations that can be accessed by using the Web services. Some are in the metadata, and others are stored in the database for your organization. The following table lists the customizations and where they can be accessed by using the Web services. For detailed instructions about how to access each of these programmatically, see Installing and Uninstalling ISV Solutions.
Customization type | Web service access |
Entities, attributes, and relationships | Stored in the metadata and edited using the MetadataService Web service. |
Forms, views, and icons | Stored in the CrmService.organizationui entity and retrieved by using the CrmService Web service. |
System views | Stored in the CrmService.savedquery entity and edited using the CrmService Web service. |
Entity mappings | Stored in the CrmService.entitymap entity and edited using the CrmService Web service. |
Attribute mappings | Stored in the CrmService.attributemap entity and edited using the CrmService Web service. |
Message | Stored in the CrmService.displaystring entity and edited using the CrmService Web service. |
Site Map | Available by using the import and export messages in the CrmService Web service. |
ISV Configuration | Available by using the import and export messages in the CrmService Web service. |
About Custom Entities
About Custom Entities
A custom entity is a business entity whose schema is created through the customization tools in the Microsoft Dynamics CRM Web application or by using the Metadata Web service. This feature enables you to provide important extensions to support vertical business requirements. It also makes building on the Microsoft Dynamics CRM platform easier, enabling ISVs, for example, to produce solutions that integrate seamlessly with Microsoft Dynamics CRM.
Custom Entity Life Cycle
- Create – The schema is created and an empty form is published.
- Update - Schema changes are saved to the metadata but UI changes remain unpublished.
- Publish - UI changes are published and are visible in the application.
- Delete - Schema changes and the UI is changed immediately, no publish step is needed.
When you create a custom entity using the Web application, you enter the schema name for the entity. This name is used to create the logical name and the filtered view name. For more information about names, see Using Entity Names.
Custom entities also support the following functionality:
- You can create forms, views, and reports to expose your new entities in Microsoft Dynamics CRM.
- You can publish, export, and import these new entities and their associated forms and views.
- You can include these new entities in the dataset that Microsoft Dynamics CRM for Microsoft Office Outlook users can take offline.
- You can secure these new entities in the same manner as other Microsoft Dynamics CRM entities.
- The security privileges available for organization-owned custom entities are as follows: create, read, write, delete, append, and append to.
- The security privileges available for user-owned custom entities are as follows: create, read, write, delete, append, append to, assign, and share.
- You can define relationships for custom entities.
- Callouts for custom entities function in the same manner as for system entities.
- Client-side events function in the same manner as those for system entities.
- Custom entities can be extended using the ISV.config file in the same manner as system entities.
- The filtered views for custom entities are available to be used in the same manner as for system entities.
Actions on Custom Entities
The following table lists the messages for working with instances of custom entities, which you use with the Execute method.
In the class names listed in the following table, X is replaced with the name of the custom entity. These target classes are generated for you automatically when a custom entity is created. You may have to regenerate your Web Services Description Language (WSDL) file if entities have been added.
Message | Description |
Assign | Use this message to assign a custom entity instance to another user. Available only for user owned custom entities. The information that is needed to assign the entity instance is specified in the TargetOwnedX class. See the Note following this table. |
Create | Use this message to create a custom entity instance. The information that is needed to create the entity instance is specified in the TargetCreateX class. You can also call the Create method. |
Delete | Use this message to delete a custom entity instance. The entity instance to delete is specified in the TargetDeleteX class. You can also call the Delete method. |
GrantAccess | Use this message to share a custom entity instance with another security principal (user or team). This message is available only for user owned custom entities. The information that is needed to grant access to the entity instance is specified in the TargetOwnedX class. See the Note following this table. |
ModifyAccess | Use this message to change the access rights for a custom entity instance previously shared with another security principal (user or team). This message is available only for user owned custom entities. The information that is needed to modify access to the entity instance is specified in the TargetOwnedX class. See the Note following this table. |
Retrieve | Use this message to retrieve a custom entity instance. The entity instance to retrieve is specified in the TargetRetrieveX class. You can also call the Retrieve method. |
RetrieveMultiple | Use this message to retrieve a collection of custom entity instances. The query expression that describes the entity instances to retrieve is specified in the Query property of this request. You can also call the RetrieveMultiple method. |
RetrievePrincipalAccess | Use this message to retrieve the access that the specified security principal (user) has to a custom entity instance. This message is available only for user owned custom entities. The entity instance to retrieve is specified in the TargetOwnedX class. See the Note following this table. |
RetrieveSharedPrincipalsAndAccess | Use this message to retrieve all the security principals (users or teams) that have access to a custom entity, together with their access rights to the custom entity instance. This message is available only for user owned custom entities. The entity instance to retrieve is specified in the TargetOwnedX class. See the Note following this table. |
RevokeAccess | Use this message to remove all access to a custom entity instance for the specified security principal (user or team). This message is available only for user owned custom entities. The information that is needed to revoke access to the entity instance is specified in the TargetOwnedX class. See the Note following this table. |
SetStateX | Use this message to set the state of a custom entity instance. The possible states are defined in the XState enumeration. |
Update | Use this message to update a custom entity instance. The entity instance to update is specified in the TargetUpdateX class. You can also use the Update method. |