Dynamics CRM 2011 Online,CrmSvcUtil,代理服务器身份验证失败

cod*_*ike 6 c# dynamics-crm dynamics-crm-2011

尝试为Dynamics CRM 2011 Online 编写插件.

第一步是使用CrmSvcUtil为实体类生成代码.

我想我有正确的CrmSvcUtil参数(见下文)但是当我运行它时我得到:

退出程序例外:元数据包含无法解析的引用:' https : //myorg.crm.dynamics.com/XRMServices/2011/Organization.svc?wsdl '.启用跟踪并查看跟踪文件以获取更多信息.

启用跟踪(通过CrmSvcUtil.exe.config)会显示以下错误:

---> System.Net.WebException:远程服务器返回错误:(407)需要代理验证. 在System.ServiceModel.Description.MetadataExchangeClient的
System.Net.HttpWebRequest.GetResponse()
处.MetadataLocationRetriever.DownloadMetadata(TimeoutHelper timeoutHelper)
等...

这是有道理的,因为我所在的网络有一个代理服务器,需要我的网络用户名/密码才能上网.当然,这个用户名/密码与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="myusername@fordynamics.com"/>
    <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>
Run Code Online (Sandbox Code Playgroud)

cod*_*ike 6

啊哈!我想我破解了它.

我将以下内容添加到CrmSvcUtil.exe.config文件中:

<system.net>
  <defaultProxy useDefaultCredentials="true">
    <proxy proxyaddress="http://proxyaddress:port" />
  </defaultProxy>
</system.net>
Run Code Online (Sandbox Code Playgroud)

我不再收到"代理验证"错误.

(我得到了一个不同的错误,但它关于丢失的程序集,所以我想我可能会弄清楚....)