Cố gắng viết plugin cho Dynamics CRM 2011 Online.Dynamics CRM 2011 Trực tuyến, CrmSvcUtil, xác thực máy chủ proxy không thành công
Bước đầu tiên là sử dụng CrmSvcUtil để tạo mã cho các lớp thực thể.
Tôi nghĩ rằng tôi đã có các thông số CrmSvcUtil ngay (xem bên dưới) nhưng khi tôi chạy nó tôi nhận được:
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.
Cho phép truy tìm (thông qua CrmSvcUtil.exe.config) cho thấy lỗi này:
---> 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 ...
Điều này có ý nghĩa vì mạng tôi đang ở có máy chủ proxy yêu cầu tên người dùng/mật khẩu mạng của tôi để truy cập internet. Đương nhiên, tên người dùng/mật khẩu này khác với tên người dùng/mật khẩu Dynamics CRM.
Vì vậy, làm cách nào để tôi nhận được CrmSvcUtil chuyển đúng tên người dùng/mật khẩu cho proxy?
Dưới đây là các tập tin cấu hình mà tôi đang sử dụng với 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>