Friday, May 17, 2013

CRM Connection Error: Value cannot be null. Parameter name: authenticationCredentials.SupportingCredentials

I just published a blog post on my company's blog site, which explains the reason why you might encounter the "Value cannot be null. Parameter name: authenticationCredentials.SupportingCredentials" error when connecting to CRM discovery service.

This error could happen when you use CRM SDK code, Plugin Registration Tool, or CRM Developer Toolkit to discover CRM organizations.

Since the blog post particularly discusses the usage SSIS Integration Toolkit and relevant screenshots, so I will keep the post there, but provide a link here.

Hope this helps.

Wednesday, May 08, 2013

CRM Developer Chat with Fellow MVPs and Resource Links

Today, I had the privilege to do a Google Hangout with three fellow CRM MVPs (Donna Edwards, Dave Berry and Jamie Miley) to talk about some CRM development practices, including development tools, HTML5 vs Silverlight, CRM Polaris and Orion releases, JavaScript, JSON, etc.

I had a lot of fun during the session, particularly when Jamie decided to put a pirate hat on himself.

You can watch the recording of the session below.

I mentioned a few tools and technical resources during the session, here are the links to them.
Hope these links are helpful.

Wednesday, April 10, 2013

Presentation Deck and Demo Code for XrmVirtual Presentation

Thanks to all who have participated in the XrmVirtual session yesterday.

The following is the presentation deck that I used yesterday.

The demo code is also available for download at the following URL.

There are three solutions in the zip file, which are:
  • CrmWebServiceIntegration, this solution contains two projects which show you how to load data from an .csv file to CRM using early bound and late bound programming style. 
  • AzureServiceBus, this solution demonstrates the capability that you can use CRM Azure Service Bus in CRM plugin. In order for the solution to work, you need to first configure a service endpoint using CRM plugin registration tool, that you can use in the plugin code. 
  • OnPremiseServiceBus, this solution hows to send message to Service Bus for Windows Service (on-premise installation) from CRM plugin. 
In order to run the sample solutions, you need to update the configurations in the code. Those changes can be found from the project if you search "TODO" keyword. I have used hard-coded configuration for simplicity reason. 

I used CRM developer toolkit for the two plugin projects. In case you have trouble opening the AzureServiceBus project, it is probably because you don't have CRM developer toolkit installed. And also, I was using Visual Studio 2010 instead of VS2012. If you are using VS2012, you might have trouble to deploy the plugin from Visual Studio environment.

Please note that the sample code is for demonstration purpose, and it is NOT production quality code. 

The presentation's video recording is also available for download on XrmVirtual site if you are interested in the topics. Watching the video, you would have to bear with my accent, and my poor presentation skills.

Monday, April 08, 2013

Presentation on Enterprise Data Integration for Microsoft Dynamics CRM

I will be presenting for XrmVirtual tomorrow by the topic of Enterprise Data Integration for Microsoft Dynamics CRM. The session starts at 9am PST Apr 9th, 2013, and it will first kicks off by CRM SDK team to share with us some more recent updates in the latest SDK release (v5.0.15) related to UR13 and CRM Online updates.

My session will starts right after CRM SDK team's announcements and updates. In the session, I will try to cover some data integration options that you might have when working with Microsoft Dynamics CRM projects, including CRM SDK programming, Import Data Wizard, ETL, Service Bus, etc. The session will be concluded by sharing some tips and tricks that I learned when working with some large-scale data migration and integration projects, and also some lessons that I learned while designing and developing SSIS Integration Toolkit for Microsoft Dynamics CRM.

The session has been planned to be a one-hour session which includes CRM SDK team's updates, but I have got the permission from XrmVirtual team that the session can go a little longer (mainly due to the amount of information to be covered in one session), so the entire session could run for about 90 minutes although the original invite is only for 60 minutes.

The following is the download link to the meeting invite, you are more than welcome to join the session if this interests you.

Note that the session will be recorded by XrmVirtual team. If you can't make it, you will still have a chance to view the presentation at a later time. Further information about the session can be found at XrmVirtual website.

XrmVirtual is a user group for professional CRM developers who are passionate about Microsoft Dynamics CRM, and is run by two Dynamics CRM MVPs, Julie Yack and Shan McArthur.

See you then!

[UPDATE - Apr 10, 2013] I have uploaded the presentation deck file and demo code that you can download, check out here. The presentation's video recording is also available for download on XrmVirtual site if you are interested. Watching the video, you would have to bear with my accent, and my poor presentation skills.

Monday, March 25, 2013

Introducing SQL2FetchXML Online Converter

Today, I would like to share with you that KingswaySoft, where I work, has just launched a new website called, which is a free online converter that helps convert SQL script into CRM FetchXML query.

FetchXML is a proprietary query language that is used in Microsoft Dynamics CRM, which helps query data from CRM system through its web service interface. We, as developers, are usually familiar with writing SQL script. Often the case, we take pride in our productivity when writing SQL script, and sometimes complex ones. But when it comes to FetchXML, we need to worry about the XML syntax, formatting, which makes us much less productive. With website, you can continue to use your SQL mindset, and let the utility handle the conversion for you.

Please feel free to give it a try and let me know how it goes.

Hope you find this utility useful.

Sunday, March 17, 2013

Packed and Ready to Go, See You at Convergence 2013 - New Orleans

I want to say that I am very excited that I am on my way to New Orleans to attend Microsoft Dynamics Convergence 2013. This is my first time attending Convergence, and I am really looking forward to this great event.

If you are also coming to Convergence, it might be a great opportunity to meet up for a chat or a coffee. The following is the list of my engagements in the event if you want to catch up with me.

Date Time Assignment / Session Location
Mondy, March 18, 2013 4:00 - 6:00pm Attending Microsoft Booth Dynamics CRM Kiosk #4
Tuesday, March 19, 2013 12:00 - 3:00pm Attending Microsoft Booth Dynamics CRM Kiosk #4
5:00 - 6:00pm Ask the MVPs: Discussion with Microsoft Dynamics CRM MVPs (Facilitated by Donna Edwards, joined by a total of 10 MVPs as panel members including me) Room #386
Wednesday, March 20, 2013 10:30am - 1:00pm Attending Microsoft Booth Dynamics CRM Kiosk #4
2:00pm - 3:00pm Ask the MVPs: Discussion with Microsoft Dynamics CRM MVPs (Facilitated by Donna Edwards, joined by a total of 10 MVPs as panel members including me) Room #386

I just started my 10-hour connected flights to New Orleans, I look forward to seeing you there.

Friday, March 01, 2013

Updated: Microsoft Dynamics CRM 2011 JavaScript Development Cheat Sheet

I just made some updates to CRM 2011 JavaScript Development Cheat Sheet. There are a couple changes in this update to reflect some recent SDK updates.
  • added Xrm.Utility Methods
  • added getClientUrl method
  • marked getAuthenticationHeader and getServerUrl methods as deprecated
Since UR12, getServerUrl is deprecated, and getClientUrl is the recommended approach. To handle the transition, you might want to first check if getClientUrl is available and then use getServerUrl as a second option. This is to ensure backward compatibility, which is important for ISVs. You can see my implementation in the most recent of XrmSvcToolkit.

You may download the cheat sheet document from the following link on my Windows Live SkyDrive.

This may not worth a dedicated blog post, but I thought this is the only way to reach out to the community in order to have your attention.

Please let me know in case I have missed anything important.

Release: XrmSvcToolkit v0.2

It has been a while since the last update of XrmSvcToolkit.

Today, I just updated the library to a new version, v0.2, which includes the following two updates:
  • Cross-browser support
  • Bug fixes for synchronous calls that don't have any return values
So the library should work for CRM 2011 December 2012 Service Update or UR12. 
The new version is available for download at codeplex website. Please let me know if you run into any issues with the new version. 
Hope this helps.