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)
啊哈!我想我破解了它.
我将以下内容添加到CrmSvcUtil.exe.config文件中:
<system.net>
<defaultProxy useDefaultCredentials="true">
<proxy proxyaddress="http://proxyaddress:port" />
</defaultProxy>
</system.net>
Run Code Online (Sandbox Code Playgroud)
我不再收到"代理验证"错误.
(我得到了一个不同的错误,但它关于丢失的程序集,所以我想我可能会弄清楚....)
| 归档时间: |
|
| 查看次数: |
4384 次 |
| 最近记录: |