Próbujesz napisać plugin dla Dynamics CRM 2011 Online.Dynamics CRM 2011 Online, CrmSvcUtil, uwierzytelnianie serwera proxy niepoprawne
Pierwszym krokiem jest użycie CrmSvcUtil do wygenerowania kodu dla klas encji.
Chyba mam parametry CrmSvcUtil prawo (patrz poniżej), ale gdy uruchomię go uzyskać:
Exiting program with exception: Metadata contains a reference that cannot be resolved: ' https://myorg.crm.dynamics.com/XRMServices/2011/Organization.svc?wsdl '. Enable tracing and view the trace files for more information.
Włączanie śledzenia (przez CrmSvcUtil.exe.config) pokazuje ten błąd:
---> System.Net.WebException: The remote server returned an error: (407) Proxy Authentication Required.
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Description.MetadataExchangeClient. MetadataLocationRetriever.DownloadMetadata(TimeoutHelper timeoutHelper)
etc ...
Ma to sens, ponieważ sieć, w której się znajduję, ma serwer proxy, który wymaga podania mojej nazwy użytkownika/hasła do połączenia z Internetem. Oczywiście ta nazwa użytkownika/hasło różni się od nazwy Dynamics CRM.
Co zrobić, aby CrmSvcUtil przekazał prawą nazwę użytkownika/hasło do serwera proxy?
Oto plik konfiguracyjny, który używam z CrmSvcUtil:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="url" value="https://myorg.crm.dynamics.com/XRMServices/2011/Organization.svc"/>
<add key="codeCustomization" value="Microsoft.Xrm.Client.CodeGeneration.CodeCustomization, Microsoft.Xrm.Client.CodeGeneration"/>
<add key="out" value="XRM\Xrm.cs"/>
<add key="namespace" value="Xrm"/>
<add key="username" value="[email protected]"/>
<add key="password" value="mydynamicspassword"/>
<add key="deviceid" value="my device ID"/>
<add key="devicepassword" value="my device password"/>
<add key="servicecontextname" value="XrmServiceContext" />
<add key="servicecontextprefix" value="Xrm" />
</appSettings>
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="configConsoleListener"
type="System.Diagnostics.ConsoleTraceListener">
<filter type="System.Diagnostics.EventTypeFilter"
initializeData="Error" />
</add>
</listeners>
</trace>
</system.diagnostics>
</configuration>