3. September 2015 17:15
Hallo zusammen,
wir haben ein Problem, das Outlook-Plugin für Dynamics CRM 2015 zu konfigurieren.
Szenario:
---------
- wir haben einen eigenen Server htwin1.unserefirma.de im Internet, wo CRM 2015 mit konfiguriertem IFD, AD FS etc. von mir installiert wurde
- der Server ist gleichzeitig Domänencontroller aber auch der einzige Server in der Domäne, die "HT" heißt
- das Web-Login in das CRM per Browser funktioniert problemlos
- wir möchten nun mit unseren Outlooks das CRM-Add-In benutzen
Problem:
--------
Wenn ich nun in Outlook auf den "CRM Konfigurieren" Button klicke, gebe ich im folgenden Dialog die CRM-Adresse ein, also
https://htwin1.unserefirma.de:5555So weit, so gut. Dann kommt ein Fenster vom CRM, wo ich User und Passwort eingeben muss.
Ich gebe also ein:
unserefirma\mein.name
meinpasswort
Nun kommt das Problem. Fehlermeldung:
"Mit dem Microsoft Dynamics CRM-Server kann keine Verbindung hergestellt werden, die Ihre Anmeldeinformationen nicht authentifiziert werden können. Überprfrüfen Sie die Verbindung oder
wenden Sie sich an den Systemadministrator."
Der Protokolldatei Crm71ClientConfig.log entnehme ich dann folgendes:
---------------------------------------------------------------------------------------------------
17:33:34| Info| Attempting IFD discovery service connection.
17:33:37| Info| Error connecting to URL: {0} Exception: {1}|
https://htwin1.unserefirma.de:5555/XRMS ... covery.svc, Microsoft.Crm.Outlook.ClientAuth.CrmClientAuthException:
Authentication was canceled.
bei System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
bei System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
bei Microsoft.Crm.Outlook.ClientAuth.ClientAuthProvider`1.SignIn(AuthUIMode uiMode, IClientOrganizationContext context, Control parentWindow, Boolean retryOnError)
bei Microsoft.Crm.Application.Outlook.Config.DeploymentsInfo`1.DeploymentInfo`1.LoadOrganizationsInternal(AuthUIMode uiMode, Control parentWindow)
bei Microsoft.Crm.Application.Outlook.Config.DeploymentsInfo`1.InternalLoadOrganizations(DataCollection`1 orgs, AuthUIMode uiMode, Control parentWindow)
17:33:37| Error| Exception : Authentication was canceled. bei Microsoft.Crm.Application.Outlook.Config.DeploymentsInfo`1.InternalLoadOrganizations(DataCollection`1 orgs, AuthUIMode
uiMode, Control parentWindow)
bei Microsoft.Crm.Application.Outlook.Config.DeploymentsInfo`1.LoadOrganizations(AuthUIMode uiMode, Control parentWindow)
bei Microsoft.Crm.Application.Outlook.Config.ServerForm.LoadOrganizationsInternal[TService](Boolean forceUI, String deploymentUrl, Boolean tryWIA, Boolean keepUrlIntact, String org)
bei Microsoft.Crm.Application.Outlook.Config.ServerForm.LoadOrganizationsInternal[TService](Boolean forceUI, String deploymentUrl, Boolean tryWIA)
bei System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
17:35:29|Verbose| Method entry: Microsoft.Crm.Application.Outlook.Config.ServerForm._serverUrlConnectButton_Click
17:35:29|Verbose| Method entry: Microsoft.Crm.Application.Outlook.Config.ServerForm.TestConnection
17:35:29|Verbose| Method exit: Microsoft.Crm.Application.Outlook.Config.ServerForm.TestConnection
17:35:29|Verbose| Method exit: Microsoft.Crm.Application.Outlook.Config.ServerForm._serverUrlConnectButton_Click
17:35:29|Verbose| Method entry: Microsoft.Crm.Application.Outlook.Config.ServerForm.RunEnvironmentDiagnostics
17:35:29|Verbose| Method entry: Microsoft.Crm.Application.Outlook.ConfigDiagnostics.DiagnosticEngine.Run(Environment)
17:35:29|Verbose| Method entry: Microsoft.Crm.Application.Outlook.ConfigDiagnostics.LocalTimeDiagnostic.ExecuteInternal
17:35:29| Info| Current UTC date/time from windows time server on the internet: 09/02/2015 15:35:28
17:35:29| Info| Client UTC Date/Time: 09/02/2015 15:35:29
17:35:29| Info| Difference (in minutes) between client time and actual time: 0.01942601
17:35:29|Verbose| Method exit: Microsoft.Crm.Application.Outlook.ConfigDiagnostics.LocalTimeDiagnostic.ExecuteInternal
17:35:29|Verbose| Method exit: Microsoft.Crm.Application.Outlook.ConfigDiagnostics.DiagnosticEngine.Run(Environment)
17:35:29|Verbose| Method exit: Microsoft.Crm.Application.Outlook.Config.ServerForm.RunEnvironmentDiagnostics
17:35:29| Info| Attempting {0} ({1}) org service connection.| IFD, https
17:35:54| Info| Error connecting to URL: {0} Exception: {1}|
https://htwin1.unserefirma.de:5555/XRMS ... zation.svc, Microsoft.Crm.CrmException: Authentication failed
bei System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
bei System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
bei Microsoft.Crm.Outlook.ClientAuth.ClientAuthProvider`1.SignIn(AuthUIMode uiMode, IClientOrganizationContext context, Control parentWindow, Boolean retryOnError)
bei Microsoft.Crm.Application.Outlook.Config.DeploymentsInfo`1.DeploymentInfo`1.LoadOrganizationsInternal(AuthUIMode uiMode, Control parentWindow)
bei Microsoft.Crm.Application.Outlook.Config.DeploymentsInfo`1.InternalLoadOrganizations(DataCollection`1 orgs, AuthUIMode uiMode, Control parentWindow)
---------------------------------------------------------------------------------------------------
Anscheinen kann er die .svc Dinger nicht kontakieren. Wenn ich die manuell im Browser aufrufe, passiert folgendes.
https://htwin1.unserefirma.de:5555/XRMS ... covery.svcHier steht dann im Browser, dass ich mit dem Kommando
svcutil.exe
https://htwin1.unserefirma.de:5555/XRMS ... y.svc?wsdlden Discovery Dienst in der Kommandozeile testen kann. Dabei kommt folgendes heraus:
Attempting to download metadata from 'https://htwin1.unserefirma.de:5555/XRMS
ervices/2011/Discovery.svc?wsdl' using WS-Metadata Exchange or DISCO.
Error: Fehler beim Abrufen von Metadaten von Aussteller "https://htwin1.unserefirma.de:5555/adfs/services/trust/mex" mit Fehler "System.InvalidOperationExcep
tion: Metadaten enthalten einen Verweis, der nicht aufgelöst werden kann: "https
://htwin1.unserefirma.de:5555/adfs/services/trust/mex". ---> System.ServiceMo
del.Security.MessageSecurityException: Die HTTP-Anforderung ist beim Clientauthe
ntifizierungsschema "Anonymous" nicht autorisiert. Vom Server wurde der Authenti
fizierungsheader "Negotiate,NTLM" empfangen. ---> System.Net.WebException: Der R
emoteserver hat einen Fehler zurückgegeben: (401) Nicht autorisiert.
bei System.Net.HttpWebRequest.GetResponse()
bei System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.Http
ChannelRequest.WaitForReply(TimeSpan timeout)
--- Ende der internen Ausnahmestapelüberwachung ---
Server stack trace:
bei System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(
HttpWebRequest request, HttpWebResponse response, WebException responseException
, HttpChannelFactory`1 factory)
bei System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyRes
ponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory`1 fac
tory, WebException responseException, ChannelBinding channelBinding)
bei System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.Http
ChannelRequest.WaitForReply(TimeSpan timeout)
bei System.ServiceModel.Channels.RequestChannel.Request(Message message, Time
Span timeout)
bei System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message messa
ge, TimeSpan timeout)
bei System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean o
neway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan ti
meout)
bei System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCal
lMessage methodCall, ProxyOperationRuntime operation)
bei System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage re
qMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgD
ata, Int32 type)
bei System.ServiceModel.Description.IMetadataExchange.Get(Message request)
bei System.ServiceModel.Description.MetadataExchangeClient.MetadataReferenceR
etriever.DownloadMetadata(TimeoutHelper timeoutHelper)
bei System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.
Retrieve(TimeoutHelper timeoutHelper)
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.
Retrieve(TimeoutHelper timeoutHelper)
bei System.ServiceModel.Description.MetadataExchangeClient.ResolveNext(Resolv
eCallState resolveCallState)
bei System.ServiceModel.Description.MetadataExchangeClient.GetMetadata(Metada
taRe<ver retriever)
bei System.ServiceModel.Description.MetadataExchangeClient.GetMetadata(Endpoi
ntAddress address)
bei System.ServiceModel.Security.WSSecurityPolicy.TokenIssuerPolicyResolver.R
esolveTokenIssuerPolicy(MetadataImporter importer, PolicyConversionContext polic
yContext, IssuedSecurityTokenParameters parameters)".
Warning: Folgende Richtlinienassertionen wurden nicht importiert:
XPath://wsdl:definitions[@targetNamespace='http://schemas.microsoft.com/xrm/20
11/Contracts/Services']/wsdl:binding[@name='CustomBinding_IDiscoveryService']
Assertionen:
<ms-xrm:AuthenticationPolicy xmlns:ms-xrm='http://schemas.microsoft.com/xrm/
2011/Contracts/Services'>..</ms-xrm:AuthenticationPolicy>
Das sieht ja schonmal nicht so gut aus.
Und für die zweite URL
https://htwin1.unserefirma.de:5555/XRMS ... zation.svc kommt auch eine schöne Seite "OrganizationService Dienst". Auch dort steht ein Testbefehl
svcutil.exe
https://htwin1.unserefirma.de:5555/XRMS ... n.svc?wsdlDieser liefert in der Kommandozeile:
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools>svcuti
l.exe
https://htwin1.unserefirma.de:5555/XRMS ... ion.svc?wsdl
Microsoft (R) Service Model Metadata Tool
[Microsoft (R) Windows (R) Communication Foundation, Version 4.0.30319.33440]
Copyright (c) Microsoft Corporation. All rights reserved.
Attempting to download metadata from 'https://htwin1.unserefirma.de:5555/XRMS
ervices/2011/Organization.svc?wsdl' using WS-Metadata Exchange or DISCO.
Error: Fehler beim Abrufen von Metadaten von Aussteller "https://htwin1.unserefirma.de:5555/adfs/services/trust/mex" mit Fehler "System.InvalidOperationExcep
tion: Metadaten enthalten einen Verweis, der nicht aufgelöst werden kann: "https
://htwin1.unserefirma.de:5555/adfs/services/trust/mex". ---> System.ServiceMo
del.Security.MessageSecurityException: Die HTTP-Anforderung ist beim Clientauthe
ntifizierungsschema "Anonymous" nicht autorisiert. Vom Server wurde der Authenti
fizierungsheader "Negotiate,NTLM" empfangen. ---> System.Net.WebException: Der R
emoteserver hat einen Fehler zurückgegeben: (401) Nicht autorisiert.
bei System.Net.HttpWebRequest.GetResponse()
bei System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.Http
ChannelRequest.WaitForReply(TimeSpan timeout)
--- Ende der internen Ausnahmestapelüberwachung ---
Server stack trace:
bei System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(
HttpWebRequest request, HttpWebResponse response, WebException responseException
, HttpChannelFactory`1 factory)
bei System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyRes
ponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory`1 fac
tory, WebException responseException, ChannelBinding channelBinding)
bei System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.Http
ChannelRequest.WaitForReply(TimeSpan timeout)
bei System.ServiceModel.Channels.RequestChannel.Request(Message message, Time
Span timeout)
bei System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message messa
ge, TimeSpan timeout)
bei System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean o
neway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan ti
meout)
bei System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCal
lMessage methodCall, ProxyOperationRuntime operation)
bei System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage re
qMsg, IMessage retMsg)
bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgD
ata, Int32 type)
bei System.ServiceModel.Description.IMetadataExchange.Get(Message request)
bei System.ServiceModel.Description.MetadataExchangeClient.MetadataReferenceR
etriever.DownloadMetadata(TimeoutHelper timeoutHelper)
bei System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.
Retrieve(TimeoutHelper timeoutHelper)
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.
Retrieve(TimeoutHelper timeoutHelper)
bei System.ServiceModel.Description.MetadataExchangeClient.ResolveNext(Resolv
eCallState resolveCallState)
bei System.ServiceModel.Description.MetadataExchangeClient.GetMetadata(Metada
taRetriever retriever)
bei System.ServiceModel.Description.MetadataExchangeClient.GetMetadata(Endpoi
ntAddress address)
bei System.ServiceModel.Security.WSSecurityPolicy.TokenIssuerPolicyResolver.R
esolveTokenIssuerPolicy(MetadataImporter importer, PolicyConversionContext polic
yContext, IssuedSecurityTokenParameters parameters)".
Warning: Folgende Richtlinienassertionen wurden nicht importiert:
XPath://wsdl:definitions[@targetNamespace='http://schemas.microsoft.com/xrm/20
11/Contracts/Services']/wsdl:binding[@name='CustomBinding_IOrganizationService']
Assertionen:
<ms-xrm:AuthenticationPolicy xmlns:ms-xrm='http://schemas.microsoft.com/xrm/
2011/Contracts/Services'>..</ms-xrm:AuthenticationPolicy>
Firewalls habe ich testweise ausgeschaltet, die Uhrzeit Server/Client sind gleich und auch sonst alle ähnlichen Forenbeiträge haben kein Ergebnis geliefert.
Irgendwie kann er diesen MEX-Endpoint also nicht kontaktieren. Wenn ich den im Browser aufrufen will kommt eine User/Passwort Eingabeaufforderung aber komischerweise akzeptiert er keine User von unserem Server.
Ich experimentiere nun schon seit Tagen damit herum.
Hat jemand eine Idee wie ich das Outlook Add-In zum Laufen kriege?
Danke & Gruß Malte