Crm 2011 test the crm4 metadata endpoint

72 Views Asked by At

I'm having trouble with a third party product that suppose to connect to a CRM2011 CRM4 metadata endpoint. Basically the product is AVAYA EMC version 6.3.1, I'm aware that this specific version is not compatible with CRM2011, but the documents released by the company are not really clear if this involved the CRM2011 CRM4 metadata endpoint.

Long story short, there is this plugin ASMSCRMGuiPlugin.dll that is not able to authenticate the metadata endpoint provided as:

(this should be the metadata attribute endpoint for crm4) http://server/MSCRMServices/2007/MetadataService.asmx

to confirm that the endpoint was working i wrote a console that was querying the metadata endpoint on that address with the provided credentials (the ones that in the plugin were not working), and i was able to retrieve all the contacts attributes.

Now I'm not a crm4 developer and I entered the CRM world when 2011 was already established, is there any setting on CRM2011 side that I have to tweak to allow this component to work? I will append the code i used to connect to the metadata endpoint. Is there any other way for me to prove that is not a crm configuration issue? Anyone out there ever managed to configure AVAYA EMC6.3.1 with CRM 2011, using the endpoint crm4?

CrmAuthenticationToken token = new CrmAuthenticationToken();
token.OrganizationName = "Org";
token.AuthenticationType = 0;
MetadataService mdSevice = new MetadataService();
mdSevice.Credentials = new System.Net.NetworkCredential("User", "Passw", "domain");
mdSevice.Url = "http://org/MSCRMServices/2007/MetadataService.asmx";
mdSevice.UseDefaultCredentials = false;
mdSevice.CrmAuthenticationTokenValue = token;
RetrieveEntityRequest entityRequest = new RetrieveEntityRequest();
entityRequest.RetrieveAsIfPublished = false;
entityRequest.LogicalName = EntityName.contact.ToString();
entityRequest.EntityItems = EntityItems.IncludeAttributes;
RetrieveEntityResponse entityResponse = (RetrieveEntityResponse)mdSevice.Execute(entityRequest);
Console.WriteLine("Retrieved fields: ");
EntityMetadata retrievedEntityMetadata = entityResponse.EntityMetadata;
foreach (AttributeMetadata att in retrievedEntityMetadata.Attributes)
            {
                {
                    Console.WriteLine(att.LogicalName);
                }
            }
0

There are 0 best solutions below