FORUMS

c360 Forums
 Home        Members    Calendar    Who's On

Welcome Guest ( Login | Register )
      



NullReferenceException from local machineExpand / Collapse
Message
Posted 2/26/2007 12:18:30 PMPost #1223
 

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie
We have CRM server and SQL server in same box. Several c360 addons installed with license and are working. However, our box has ssl certificate for IFD site and I have not been able to make c360 addons to work using mscrmservices from that site, so it is pointed to:

<add key="WebServicesUrl" value="http://PCRM4:5555/MSCRMServices/"/>

We still have some kinds to straighten out with the configuration, for example if we navigate to an entity from outlook and try to use relationship explorer, it will ask for login even if we already are logged on to crm server. Once this login through web interface is done, user does not need to do it again. I assume it is because user needs to log on for both 5555 and IFD site's mscrmservices.

But that is mostly background, my main question is about SDK in local machine:

Installed SDK in local machine, examples running as long as it does not pull data from CRM server. This has been happening on all the grid examples, for example 4.3b. The following error happens whether or not MultiCurrency is installed on server or not:

Source:
c360.Toolkit

Error Message:
Object reference not set to an instance of an object.

Stack Trace:
   at c360.Toolkit.MultiCurrency.Settings.get_GetInstalledFolder()
   at c360.Toolkit.MultiCurrency.Settings..ctor(String addonid)
   at c360.Toolkit.MultiCurrency.MultiCurrencyService.ᜁ()
   at c360.Toolkit.MultiCurrency.MultiCurrencyService.ᜀ(XmlDocument A_0, Int32 A_1)
   at c360.Toolkit.MultiCurrency.MultiCurrencyService.ProcessGridResultsData(XmlDocument objXmlData, Int32 entityType)
   at c360.Toolkit.MsCrm.Pages.GridData.ᜀ(XmlDocument A_0, String A_1, String[] A_2, String[] A_3)
   at c360.Toolkit.MsCrm.Pages.GridData.ExportToMedia(XmlDocument objXmlData, String strMedia, String[] strFieldsCaption, String[] strFieldsXPath)
   at c360.Toolkit.MsCrm.Pages.GridData.ᜀ()
   at c360.Toolkit.MsCrm.Pages.GridData.Render(HtmlTextWriter writer)
   at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
   at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
   at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Assembly name: c360.Toolkit
Assembly version: 3.0.8.220

Calling assembly name: WebDev.WebHost
Calling assembly version: 8.0.0.0

-Aki Rova

Posted 2/27/2007 5:12:35 PMPost #1240
 

c360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guru
I just want to be sure I understand your scenario:
  1. CRM and c360 products are installed on a server
  2. VS.NET, SDK and your custom code are a seperate machine

Is this correct?

The reason I ask is because the error you are experiencing occurs when the SDK attempts to read the registry to get location of the MultiCurrency Management (MCM) in order to properly display the currency data in your grid. However, since MCM is installed on the server and not on your dev machine, the expected registry keys are not be found which causes the error.

The real question therefore is: how come the SDK "thinks" that MCM is installed on your dev machine and tries to read some of its registry keys when in fact MCM is not installed on your machine?

I can't answer that question. I will ask someone on ou dev group to help me fogure this out.

In the mean time, can you share with me what c360 products (other than the SDK) where installed on your dev machine if any?

Jeremie Desautels

VP, Product Marketing

c360 Solutions

Posted 2/28/2007 2:40:59 PMPost #1246
 

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie
Jeremie Desautels (2/27/2007)
I just want to be sure I understand your scenario:
  1. CRM and c360 products are installed on a server
  2. VS.NET, SDK and your custom code are a seperate machine

Is this correct?

Correct.

In the mean time, can you share with me what c360 products (other than the SDK) where installed on your dev machine if any?

Dev machine has never had c360 products installed.

Aki Rova

Posted 3/1/2007 11:12:26 AMPost #1250
 

c360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guru
The problem you are experiencing is due to the fact that c360's Multi-Currency Manager (MCM) is installed on your CRM system but not on your dev machine. Our SDK Grid is designed to automatically convert Currency fields into the configured default currency but this feature is causing the error in your environment.

I received the following explanation from our dev group regarding your situation:

Here is what is happening that is causing this error with the customer’s SDK Grid.

  • When the grid processes its result set it has a check to see if the MCM entities exist in CRM
  • If the MCM entities exist it processes the result set with the currency values defined in the MCM entities.
  • First though it tries to find the default currency symbol, this can either be the CRM Organization currency symbol or the Global default that is defined in MCM.

The problem is occurring when the MCM factory is trying to find the Config.dat file that MCM stores this Global default currency symbol. The MCM factory checks the registry for the c360ProductFolder key to help build a path to the Config.dat file, since this is an SDK install on a different machine this key and file do not exist on the system. And now we get this error.

You can fix this problem by adding the registry key that the SDK is looking for. In this key, you specify a 'dummy' location and the SDK will realize that that the expected config file is not present and will simply use the global default currency symbol.

  1. Add a key called "c360" under "HKey_Local_Machine\Software
  2. Add a key called "c360ProductFolder" under this new "c360" key.
  3. Specify a 'dummy' value for this new key.

 

However, our SDK should be a little more forgiving and it should be able to handle situations where the expect registry key is missing. I will report this as an enhancement request for a future version.

Let me know if this helps.

Jeremie Desautels

VP, Product Marketing

c360 Solutions

Posted 3/1/2007 11:20:06 AMPost #1251
 

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie
Thank you,

that fixed my problem.

Aki

« Prev Topic | Next Topic »


Reading This TopicExpand / Collapse
Active Users: 0 (0 guests, 0 members, 0 anonymous members)
No members currently viewing this topic.
Forum Moderators: Jeremie Desautels, john.gravely, kanika.jackson, Arvind Raman, Ken Champion

PermissionsExpand / Collapse

All times are GMT -5:00, Time now is 2:31pm

Powered by InstantForum.NET v4.1.4 © 2008
Execution: 0.109. 10 queries. Compression Enabled.