2012-02-28 4 views
6

Попытка написать 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> 

ответ

6

Aha! Кажется, я взломал его.

Я добавил следующее в файл CrmSvcUtil.exe.config:

<system.net> 
    <defaultProxy useDefaultCredentials="true"> 
    <proxy proxyaddress="http://proxyaddress:port" /> 
    </defaultProxy> 
</system.net> 

Я больше не получаю сообщение об ошибке «прокси аутентификации».

(я получаю различные ошибки, но его об отсутствии сборок, так что я думаю, что, вероятно, можно понять, что из ....)

0

У меня была такая же ошибка и моя проблема была брандмауэр блокирует исходящие соединения от CrmSvcUtil!

Смежные вопросы