Integration Mode
One of the hurdles we have to jump is discrimination. We need to publish some changes from CRM and ignore others. How are we doing that?
First CRM and Scribe have come up with a clever solution for this. By installing the Scribe Publishing Service you get to use another user. That user is called INTEGRATION.
It is important that any post com call outs that are added need to run in the context of the integration users. The user that you are connecting via needs to be in the PrivUser group.
The code looks like this.
CrmService myService = new CrmService();
myService.Url = "http://localhost/mscrmservices/2006/crmservice.asmx"// Pass in a value for the SOAP Header attribute.
// This is the user that I want to impersonate.
myService.CallerIdValue = new CallerId();
myService.CallerIdValue.CallerGuid =new Guid("2B951FBC-1C56-4430-B23B-20A1349068F3");// Set the network credentials to that of the current process.
// The user account under which the process is executing must exist in
// PrivUserGroup.
myService.Credentials = System.Net.CredentialCache.DefaultCredentials;
Direct from the SDK:
"In the example code, the user account under which the code executes has been added to the PrivUserGroup. As a result, the default network credentials can be used. If the user account has not been added to PrivUserGroup, you must explicitly specify the network credentials of an account that is in PrivUserGroup as shown below. Substitute the appropriate login information for the user name, password, and domain."
If this is not done, the post com callout will propagate an XML as the Scribe publisher will see it as a change. This is going to go into Solomon and come back into CRM, where the post com will propagate the XML... etc. etc.



Comments