FORUMS

c360 Forums
 Home        Members    Calendar    Who's On

Welcome Guest ( Login | Register )
      


«««12345»»»

Using c360 SDK on a local machine for...Expand / Collapse
Message
Posted 4/14/2006 4:33:38 AMPost #191
 

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie
Hello, I read all the posts above and tried different configuration methods but still nothing works in my case Could you help me? There is slight information about configuring SDK for a local machine development in Readme and Manual, so you'd better write a wide configuration instructions for all. But anyway, here's my case:

-I have a server (with CRM) and a client machine (for development with VS2005) both in the same active directory and using windows authentication. (so I turned off Annonymus access in IIS on both servers)

-On the server: I installed sdk to a virtual directory under some website (not on the CRM website, because it runs .NET 1, but to one running .Net 2)  Then I configured it and run License installation. The first strange thing here is that it couldn't find the SDK, so I manually pointed to the SDK folder and the program just copied the .lic file there (in the root of SDK) IT DIDN'T CREATE ANY LICENSES FOLDERS! (though i found in previous posts that there should be some license folder inside SDK root folder, where the .lic file should be copied)

-On the Client:
I copied the SDK from server (with license key, but still in the root of SDK(where should it be placed to?)) to a virtual directory (later i tried the same in the root of web server) and configured

  <add key="CrmUrl" value=http://amserv />
  <add key="WebServicesUrl" value="http://amserv/mscrmservices" />
  <add key="ReportServicesUrl" value="http://amserv/ReportServer" />

here I doubt about the WebServicesUrl parameter: Should it be http://amserv/mscrmservices/2006/crmservice.asmx ??

and I set the web.config: <add key="c360Location" value="/c360sdk/" /> (I tried "/c360sdk" and "/" also)

I copied this web.config to root of website and to SDK folder to be sure. Then i copied my test web application to the root of the website.

And still when I call it, I get the message:

The request failed with HTTP status 401: Unauthorized. Please contact Licensing@c360.com for all licensing issues. You will have to provide the following information: Organization name = "ERROR: Could not retrieve Organization Name: System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
  at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
........

I mentioned that the application creates a App_Web__fcmmate.config file in the 'Config' folder
I also tried to add
<identity impersonate="true"/>
to web config. But in vain.

What's wrong?

PS. Could you make a wide instruction how to install and configuare sdk for local machine and describe how does the sdk work. What folder does it look for license, where does it look for the c360Location? This licensing mechanism just messes the things up. I'm very confused.

MikeL

Posted 4/14/2006 8:45:01 AMPost #192
 

c360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guru
There is slight information about configuring SDK for a local machine development in Readme and Manual, so you'd better write a wide configuration instructions for all.

MikeL, have you looked at the video I recorded on this subject? I recorded a video where I walk you through the steps of setting up a local machine with .NET 2.0 and our SDK while CRM is on a differnt server. This is exactly your situation please take a look at the video and let me know if it's helpful: http://www.c360.com/Forums/Topic93-8-1.aspx

-On the server: I installed sdk to a virtual directory under some website (not on the CRM website, because it runs .NET 1, but to one running .Net 2)

If you are developing on a local machine you do not have to setup our SDK on the server.

The first strange thing here is that it couldn't find the SDK, so I manually pointed to the SDK folder and the program just copied the .lic file there (in the root of SDK)

Since you can install our SDK anywhere you want, it's very difficult for our licensing tool to automatically figure out where you installed it. Therefore, it's perfectly normal that it may ask you to manually specify the location.

IT DIDN'T CREATE ANY LICENSES FOLDERS! (though i found in previous posts that there should be some license folder inside SDK root folder, where the .lic file should be copied)

The licensing tool is not supposed to create this folder. It is supposed to be already present. Please create this folder and move the license in it.

I doubt about the WebServicesUrl parameter: Should it be http://amserv/mscrmservices/2006/crmservice.asmx ??

NO. The value should be http://amserv/mscrmservices.

And still when I call it, I get the message:

The request failed with HTTP status 401: Unauthorized.

PS. Could you make a wide instruction how to install and configuare sdk for local machine and describe how does the sdk work. What folder does it look for license, where does it look for the c360Location? This licensing mechanism just messes the things up. I'm very confused.

That's exactly why I recorded the "How to install the SDK on a local developement machine video". Please take a look at it and give me some feedback. If it's not helpfull, let me know what I could change to make it better.

 

Posted 4/14/2006 10:35:06 AMPost #193
 

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie
Thank You, Jeremie,

With the video that you sent me, I found out that I should have copied the contents of the 2.0 folder to the root folder first (there are App_code, Exercises and Tests folders) And then I created the folder called "Licenses" and copied the license in there. And I changed the c360Location parameter so that it ends with a slash. And finally I saw the blue screen (not BSOD but c360 )

Thanks againg for quick help!

MikeL

Posted 4/14/2006 11:05:09 AMPost #194
 

c360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guruc360 Product Guru
I'm glad that the video was helpful.

 

Posted 4/27/2006 8:03:08 AMPost #206
 

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie
I'm having difficulties in using the IGrid object. I've watched the SDK installation video posted in this forum and followed SDK's guide, all without success.

My setup is a developer station and the crm server is on a different machine, in a different domain. Therefore I have to impersonate to communicate with the crmservice.

I've added a key in my web.config to point to SDK installation location:
<add key="c360Location" value="/crmtest/"/>

c360.config:
<configuration>
<appSettings>
<
add key="Language" value="english" />
<
add key="ImpersonationDomain" value="test.local" />
<
add key="ImpersonationUser" value="gunni" />
<
add key="ImpersonationPassword" value="NbodcYEX9aaE52DVoZK8aw==" />
<
add key="WebServicesUrl" value="http://10.100.1.35:5555/MSCRMServices" />
<
add key="ReportServicesUrl" value="http://10.100.1.35/ReportServer" />
<
add key="CrmUrl" value="http://10.100.1.35:5555"/>
</
appSettings>
</
configuration>

I used the c360.Toolkit.Util.Encrypt method to encrypt the password.

Default.aspx.cs:
public override void BuildContentArea()
{

IGrid grid = ControlFactory.CreateGrid();
grid.ID = "testGrid";
grid.ReturnedTypeCode = 2;
grid.SortCol =
"fullname";
grid.SearchingStyle =
SearchingStyles.Standard;
grid.ViewsSelectorStyle =
ViewsSelectorStyles.Standard;
grid.ShowJumpBar =
false;
grid.FetchXml =
@"<fetch mapping='logical'><entity name='contact'><attribute name='name'/><attribute name='telephone1'/><filter type='and'><condition attribute='fullname' operator='like' value='a%'></filter></entity></fetch>";

grid.ColumnHeaders.Add(
ControlFactory.CreateColumnHeader("Name", "fullname", 200));
grid.ColumnHeaders.Add(
ControlFactory.CreateColumnHeader("Phone Number", "telephone1", 200));

Instance.ContentArea.Controls.Add(grid.Control);
}

I've tried to manipulate several configuration options but always get the error:

Server Error in '/crmtest' Application.
--------------------------------------------------------------------------------

The request failed with HTTP status 401: Unauthorized.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Net.WebException: The request failed with HTTP status 401: Unauthorized.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace:
[WebException: The request failed with HTTP status 401: Unauthorized.]
   System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) +1278
   System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) +205
   c360.Toolkit.CRM2005.CrmService.Execute(Request Request) +60
   c360.Toolkit.Security.CRMSecurityPrincipal.ᜀ() +45
   c360.Toolkit.Security.CRMSecurityPrincipal.ᜀ() +38
   c360.Toolkit.Security.CRMSecurityPrincipal.ᜁ() +16
   c360.Toolkit.Security.CRMSecurityPrincipal.ᜀ() +38
   c360.Toolkit.Security.CRMSecurityPrincipal.ᜁ() +16
   c360.Toolkit.MsCrm.Controls.Grid.ᜂ() +103
   c360.Toolkit.MsCrm.Controls.Grid.OnPreRender(EventArgs e) +199
   ᜰ.OnPreRender(EventArgs e) +223
   System.Web.UI.Control.PreRenderRecursiveInternal() +88
   System.Web.UI.Control.PreRenderRecursiveInternal() +171
   System.Web.UI.Control.PreRenderRecursiveInternal() +171
   System.Web.UI.Control.PreRenderRecursiveInternal() +171
   System.Web.UI.Control.PreRenderRecursiveInternal() +171
   System.Web.UI.Control.PreRenderRecursiveInternal() +171
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5725

--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42

Needless to say I have generated the license on the CRM server and copied it into the Licenses folder.

I have verified both the WebServicesUrl and ReportServicesUrl and they both work.

I can access the actual crm service in a custom code on a different page (via webreference to the MS CRM 3.0 MsCrmServices) with the forementioned credential (without encryption of course) without any problems.

Please help 'cause the project this is supposed to be implemented in is closing on it's deadline!

Thanks in advance and best regards,
jon oskar

Posted 4/27/2006 9:00:32 AMPost #207
 

Forum Member
First thing I'd like to ask is have you tried to use any of our other controls?  Do they work or do you get a similar result?

Btw, the c360.Toolkit.Encrypt namespace was not meant to be used by SDK users - it is supposed to be an internal class.  I believe in the latest versions of the SDK this class is locked down, so anyone using this class should find an alternative solution. 

Also, please verify what version you are currently running?  If you are not sure, right-click on one of the SDK .dlls and go to assembly version under properties.

Also, is the impersonated user "gunni" a CRM admin?  And test.local is the domain in which CRM sits?

The 401 you're getting at least notifies us that your grid is communicating with MSCRM WebServices, so the config should be right, and therefore it should be just a matter of authentication at this point.

Kevin Eichelberger
Pre-Sales Engineer / Product Specialist
c360 Solutions, Inc.

Posted 4/27/2006 9:21:46 AMPost #208
 

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie
First thing I'd like to ask is have you tried to use any of our other controls?  Do they work or do you get a similar result?

Yes, I've tried the treeview and TabBar controls and they work as expected. The problem seems to be related to when the grid control is accessing CRMService.

Btw, the c360.Toolkit.Encrypt namespace was not meant to be used by SDK users - it is supposed to be an internal class.  I believe in the latest versions of the SDK this class is locked down, so anyone using this class should find an alternative solution. 

Then how can I generate an encrypted password. The impersonation is crucial in accessing the crm server.

Also, please verify what version you are currently running?  If you are not sure, right-click on one of the SDK .dlls and go to assembly version under properties.

The version is: 3.0.5.38

Also, is the impersonated user "gunni" a CRM admin?  And test.local is the domain in which CRM sits?

Yes, the user "gunni" is defined as a CRM admin. I have also tried to use the "administrator" (with an encrypted pwd).
Yes, test.local is the domain in which CRM sits.

Could it be that the Encrypt method is not encrypting the password right?

Like you said, it's just a matter of authentication at this point - please advice!

rgds,
jon oskar

Posted 4/27/2006 9:27:59 AMPost #209
 

Forum Member
Yes, I've tried the treeview and TabBar controls and they work as expected. The problem seems to be related to when the grid control is accessing CRMService.

I should have stipulated a control that is interacting with CRM data... is your TreeView using CRM data?  If not, try using a Lookup and/or MultiPicklist control to see if that works, I'd just like to see if any of our controls are able to lookup CRM data or if it is just an issue you are having with the grid at this point.

Kevin Eichelberger
Pre-Sales Engineer / Product Specialist
c360 Solutions, Inc.

Posted 4/27/2006 10:24:57 AMPost #210
 

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie
The MultiPickList works quite well, at least the demo code that I found in the SDK training guide.

However, the LookUp object did not work as well. Got the 401 error in the "Available records" frame:

what to do... what to do...

rgds,
jon oskar

Posted 4/27/2006 12:20:16 PMPost #211
 

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie