Thursday, December 1, 2011

CRM 2011 - Retrieving Organization Information

There are many ways to retrieving Organization-Information in code. Some of them are explained in this post.
  • Javascript
  • Organization-Webservice
  • Discovery-Webservice 
  • ...
1.) Javascript (Only Unique-Name)
The XRM-Context offers the a function for retrieving the org unique name.
Xrm.Page.context.getOrgUniqueName()

 This function can be used in Javascript/HTML- and Silverlight-Webresources.

2.) Organization-Webservice (Only Display-Name)
The SOAP-Endpoint of the CRM-System (http://crm:5555/XRMServices/2011/Discovery.svc) offers the default request-functionality for the "organization" entity. The record contains the field "name" which holds the display-name.

Important: If the system is created with import organization and the display-name has been changed in this process, the name in the organization-table of the _MSCRM Database is NOT changed. It still contains the name, selected generating the organization the first time.


3.) Discovery-Webservice (Display & Unique)

The discovery-endpoint also contains a functionality to retrieve organization data. This can be achieved by using the RetrieveOrganizationRequest.

Two remarks if you are using this approach:
  • There is no documentation available, how you can use discovery-endpoint in Silverlight-Webresources
  • The code will not run in offline-mode (SDK: This message works only when connected to the server.)
Update November 2012: The RetrieveOrganizationRequest is not working correctly in online systems for this purposes. Thanks to Mitch Milam.

Cheers,
Markus

Wednesday, November 30, 2011

CRM 2011 - "HTTP 500 - Internal Server Error" using SOAP Endpoint in Silverlight Webresources

Requesting data over organization endpoint results in the following error.
HTTP 500 - Internal Server Error

The problem may be a missing provider-setting in the IIS configuration.


Solution:
  • Open IIS Manager
  • Select "Microsoft Dynamics CRM" Site
  • Doubleclick "Authentication"
  • Right click "Windows Authentication"
  • Select "Providers"
  • Add "Negotiate"
  • IIS-Reset


 There should be two "Provider" entries.
  • Negotiate
  • NTLM
Cheers,
Markus

Tuesday, November 29, 2011

CRM 2011 - Import Organization - Errorcode: 0x80131904 The login already has an account under a different user name

Using Import Organization on a CRM 4 Database results in
Errorcode: 0x80131904 The login already has an account under a different user name

The problem are different users and schemas in the sql-database of the installed system (CRM2011) and the source system (CRM4). The system language of the CRM 2011 database is another language than the CRM 4 database has been.


Example (de/en):

CRM 4 based on Windows Server 2003 / SQL 2005 GERMAN
CRM 2011 based Windows Server 2008 R2 / SQL 2008 ENGLISH

The german systems contains the user and schema 'NT-AUTORITÄT\NETZWERKDIENST'.
CRM 2011 database contains an user and a schema 'NT AUTHORITY\NETWORK SERVICE'. This is what the CRM 2011 system is expecting in the import org database.

Solution:

  • Create Database with name of CRM 4 source (_MSCRM) in SQL-Server of CRM 2011
  • Restore from backup of CRM 4
  • Delete the user and schema 'NT-AUTORITÄT\NETZWERKDIENST' from restored database
  • Use Deploymentmanager and import the organization
Cheers,
Markus

Wednesday, May 18, 2011

Why using Internet Facing Deployment

There are so many articles explaining how to configure an Internet Facing Deployment (IFD) for Microsoft CRM. But why should you do this?

Two (main) points you should know about.

1. Microsoft Support

It IS possible to publish the CRM Website for external access without using an IFD. Therefore you have only to route the site through your firewall. BUT this is no Microsoft supported scenario.

2. Outlook Client external access

If you are using the Microsoft Dynamics Outlook Client for CRM and you would like to use it from outside the corporate network, you have to configure the IFD.

Summary:
If you would like to use Microsoft CRM from outside your Intranet/VPN, you have to configure Form Based Authentication (CRM 4) or Claims Based Authentication (CRM 2011).


This is the statement from a Microsoft Engineer:


"Publishing the website to the internet and not using Claims/IFD is not supported. Even though the web client may still work it wasn't tested or designed to be run that way. We don't document all the things we don't support but rather the things we do like IFD/Claims authentication.



The outlook client will not work in this scenario.”



Cheers