2012-08-05 3 views
1

J'ai une instance crm 2011 s'exécutant sur une boîte qui est jointe à un domaine. J'essaie d'exécuter crmsvcutil depuis l'extérieur du domaine en utilisant ce qui suit.CrmSvcUtil.exe lançant une erreur 401 non autorisée

CrmSvcUtil.exe /out:Xrm.cs /url:http://crm.mydomain.com/MSCRMDEV/XRMServices/2011/OrganizationData.svc/ /domain:MYDOMAIN /u:mydomain\username /p:mypassword /namespace:Xrm /serviceContextName:XrmServiceContext 

Cela génère l'erreur suivante

CrmSvcUtil.exe Error: 0 : Exiting program with exit code 2 due to exception : System.InvalidOperationException: Metadata contains a reference that cannot be resolved: 'http://crm.mydomain.com/XRMServices/2011/OrganizationData.svc/?wsdl'. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized. at System.Net.HttpWebRequest.GetResponse() at System.ServiceModel.Description.MetadataExchangeClient.MetadataLocationRetriever.DownloadMetadata(TimeoutHelper timeoutHelper) at System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.Retrieve(TimeoutHelper timeoutHelper) --- End of inner exception stack trace --- at System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.Retrieve(TimeoutHelper timeoutHelper) at System.ServiceModel.Description.MetadataExchangeClient.ResolveNext(ResolveCallState resolveCallState) at System.ServiceModel.Description.MetadataExchangeClient.GetMetadata(MetadataRetriever retriever) at Microsoft.Xrm.Sdk.Client.ServiceMetadataUtility.RetrieveServiceEndpointMetadata(Type contractType, Uri serviceUri, Boolean checkForSecondary) at Microsoft.Xrm.Sdk.Client.ServiceConfiguration 1..ctor(Uri serviceUri, Boolean checkForSecondary) at Microsoft.Xrm.Sdk.Client.ServiceConfiguration 1..ctor(Uri serviceUri) at Microsoft.Xrm.Sdk.Client.OrganizationServiceConfiguration.AdjustServiceEndpoint(Uri serviceUri) at Microsoft.Xrm.Sdk.Client.OrganizationServiceConfiguration..ctor(Uri serviceUri) at Microsoft.Xrm.Sdk.Client.ServiceConfigurationFactory.CreateConfiguration[TService](Uri serviceUri) at Microsoft.Crm.Services.Utility.SdkMetadataProviderService.CreateOrganizationServiceEndpoint() at Microsoft.Crm.Services.Utility.SdkMetadataProviderService.Microsoft.Crm.Services.Utility.IMetadataProviderService.LoadMetadata() at Microsoft.Crm.Services.Utility.CrmSvcUtil.Run() at Microsoft.Crm.Services.Utility.CrmSvcUtil.Main(String[] args)

La trace de Fiddler

HTTP/1.1 401 Unauthorized Cache-Control: private Content-Length: 0 Server: Microsoft-IIS/7.5 X-AspNet-Version: 4.0.30319 WWW-Authenticate: Negotiate WWW-Authenticate: NTLM X-Powered-By: ASP.NET Date: Mon, 06 Aug 2012 00:44:07 GMT Proxy-Support: Session-Based-Authentication No Proxy-Authenticate Header is present. WWW-Authenticate Header is present: Negotiate WWW-Authenticate Header is present: NTLM

L'utilisateur/passe sont que d'un administrateur de domaine qui est également un administrateur de crm. Qu'est-ce que je rate? La chose intéressante à noter est que l'URL dans le message d'erreur ne contient pas le nom ORG

« http://crm.mydomain.com/XRMServices/2011/OrganizationData.svc » --- < manque org nom ici

de journaux IIS je vois un 401,5 qui est "une demande d'extension ISAPI ou CGI a rejeté la demande":

2012-08-12 16:50:03 192.168.230.201 GET/MYORGNAME/XRMServices/2011/OrganizationData.svc wsdl + OnBeginRequest: 08/12/2012-16: 50: 03.527 + LogEntries: 0 + SqlCalls: 0 + SqlCallsMs: 0 + GC: 1 + OnEndRequest: 16: 50: 03.528 80 - 192.168.230.201 - 401 5 0 3 2012-08-12 16:50:03 19 2.168.230.201 GET /XRMServices/2011/OrganizationData.svc wsdl + OnBeginRequest: 08/12/2012-16: 50: 03.538 + LogEntries: 0 + SqlCalls: 0 + SqlCallsMs: 0 + GC: 1 + OnEndRequest: 16: 50: 03,538 80 - 192.168.230.201 - 401 5 0 4

+0

Ceci se produit lors de l'exécution sur place la boîte de CRM lui-même ne ressemble donc pas à un problème de domaine croisé –

+0

si vous naviguez vers le point de terminaison en tant qu'utilisateur ce qui se passe? –

+0

navigation via le navigateur woks bien. challenge/réponse lorsque vous passez à travers le domaine anh intégré auth quand vous êtes dans le domaine –

Répondre

0

Je pense que vous pouvez facilement résoudre votre problème en suivant ces instructions: http://blog.thinketg.com/blog/ben-klopfer/strongly-typed-code-file-generation-with-crmsvcutilexe-for-crm-2011-ifd-configurations-code

Cordialement,

Kévin

+0

Pourquoi cela est-il nécessaire? J'ai été capable d'utiliser crmscutil dans une installation où crm a été installé sans nom d'hôte sans avoir à fournir une implémentation de fournisseur de métadonnées juste pour générer un proxy. De plus, ce n'est pas un IFD –

Questions connexes