Попытка написать plugin для Dynamics CRM 2011 Online.Dynamics CRM 2011 Online, CrmSvcUtil, проверка подлинности прокси-сервера
Первым шагом является использование CrmSvcUtil для генерации кода для классов сущностей.
Я думаю, что у меня есть параметры CrmSvcUtil право (смотри ниже), но когда я запускаю его я получаю:
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.
Включение трассировки (через CrmSvcUtil.exe.config) показывает эту ошибку:
---> 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 ...
Это имеет смысл, потому что в сети, на которой я работаю, есть прокси-сервер, для которого требуется мое сетевое имя пользователя/пароль для доступа в Интернет. Естественно, это имя пользователя/пароль отличается от Dynamics CRM.
Итак, как я могу получить CrmSvcUtil для передачи правильного имени пользователя/пароля в прокси?
Вот конфигурационный файл, который я использую с 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>