ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Microsoft Dynamics CRM, harici bir uygulamadan CRM'ye erişmek ve CRM'de oluşturma, silme, güncelleme ve arama gibi yaygın iş verisi işlemlerini gerçekleştirmek için web yöntemlerini çağırmak için kullanılan iki önemli web hizmeti sunar.
Aşağıdaki senaryoları ele alalım:
Harici bir .NET uygulamanız var ve bu uygulamanın CRM ile iletişim kurması gerekiyor. Örneğin, harici uygulamanızda yeni bir müşteri kaydedildiğinde CRM'ye bir İletişim kaydı eklemek isteyebilirsiniz.
Ya da belki de CRM'deki kayıtları aramak ve arama sonuçlarını harici uygulamanızda görüntülemek istiyorsunuz.
Bu tür senaryolarda, CRM tarafından sunulan web hizmetlerini uygulamanızda kullanabilir ve CRM'de oluşturma, silme, güncelleme ve arama işlemlerini gerçekleştirebilirsiniz.
IDiscoveryService Web Hizmeti
Bu web hizmeti, belirtilen kullanıcının ait olduğu kuruluşların bir listesini ve her kuruluşun URL uç noktasını döndürür.
IOrganizationService Web Servisi
Bu web servisi, CRM'deki verilere ve meta verilere erişmek için kullanılan birincil web servisidir. IOrganizationService, iki önemli derleme olan Microsoft.Xrm.Sdk.dll ve Microsoft.Crm.Sdk.Proxy.dll'i kullanır. Bu derlemeler, Bin klasöründeki CRM SDK paketinde bulunabilir.
Microsoft.Xrm.Sdk.dll
Bu derleme, Microsoft Dynamics CRM'ye bağlantıyı basitleştirmek için proxy sınıfları, kimlik doğrulama yöntemleri ve hizmet sözleşmeleri de dahil olmak üzere temel xRM yöntemlerini ve türlerini tanımlar.
Microsoft.Crm.Sdk.Proxy.dll
Bu derleme, temel olmayan mesajlar için istekleri ve yanıtları ve ayrıca kuruluş verileriyle çalışmak için gereken numaralandırmaları tanımlar. Aşağıda, bu iki derleme tarafından desteklenen ad alanları bulunmaktadır.
Bu derlemelerin her biri, herhangi bir varlıkta depolanan verilerle çalışmak için kullanılacak belirli mesajları destekler.
IOrganizationService Web Servis Metotları
IOrganizationService, sistem ve özel varlıklar üzerinde ve ayrıca kuruluş meta verileri üzerinde tüm yaygın işlemleri gerçekleştirmenizi sağlayan sekiz metot sunar.
Web Servis Örneği
CRM'de web servislerinin nasıl çalıştığını anlamak için, CRM SDK tarafından sağlanan bir örneğe bakacağız. Bu örnekte, CRM IOrganizationService web servisini kullanarak yeni bir Hesap kaydı oluşturacak, güncelleyecek ve son olarak sileceğiz.
Adım 1 − CRM SDK'yı çıkardığınız klasörü açın. Şimdi şu konuma giderek QuickStartCS.sln çözümünü açın: SDK\SampleCode\CS\QuickStart
Adım 2 − Basitleştirilmiş Bağlantı ile Hızlı Başlangıç projesini inceleyeceğiz. Bu projedeki app.config dosyasını açın. Varsayılan olarak, bu dosyadaki connectionStrings bölümü yorum satırı haline getirilmiş olacaktır.
Öncelikle, ilk bağlantı dizesi anahtarının yorum satırını kaldırın ve aşağıdaki üç ayrıntıyı düzenleyin:
URL – CRM örneğinizin URL'sini belirtin. Bizim durumumuzda, CRM'nin çevrimiçi sürümünü kullandığımız için bu URL'yi belirtmeniz gerekecektir.
Kullanıcı Adı – CRM Online kullanıcı adınız.
Şifre – CRM Online şifreniz.
3. Adım − Bu projedeki SimplifiedConnection.cs dosyasını açın ve içindeki Runmethod'u çalıştırın.
Kod:
public void Run(StringconnectionString, boolpromptforDelete) {
try {
// Establish a connection to the organization web service using CrmConnection.
Microsoft.Xrm.Client.CrmConnection connection =
CrmConnection.Parse(connectionString);
// Obtain an organization service proxy.
// The using statement assures that the service proxy will be properly disposed.
using(_orgService = new OrganizationService(connection)) {
//Create any entity records this sample requires.
CreateRequiredRecords();
// Obtain information about the logged on user from the web service.
Guid userid = ((WhoAmIResponse)_orgService.Execute(new WhoAmIRequest())).UserId;
SystemUser systemUser = (SystemUser)_orgService.Retrieve("systemuser",userid,
new ColumnSet(newstring[]{"firstname","lastname"}));
Console.WriteLine("Logged on user is {0} {1}.",
systemUser.FirstName,systemUser.LastName);
// Retrieve the version of Microsoft Dynamics CRM.
RetrieveVersionRequest versionRequest = new RetrieveVersionRequest();
RetrieveVersionResponse versionResponse =
(RetrieveVersionResponse)_orgService.Execute(versionRequest);
Console.WriteLine("Microsoft Dynamics CRM version {0}.",
versionResponse.Version);
// Instantiate an account object. Note the use of option set
enumerations defined in OptionSets.cs.
// Refer to the Entity Metadata topic in the SDK documentation to
determine which attributes must
// be set for each entity.
Account account = new Account{Name = "Fourth Coffee"};
account.AccountCategoryCode = new OptionSetValue(
(int)AccountAccountCateg oryCode.PreferredCustomer);
account.CustomerTypeCode = new OptionSetValue(
(int)AccountCustomerTypeCod e.Investor);
// Create an account record named Fourth Coffee.
_accountId = _orgService.Create(account);
Console.Write("{0} {1} created, ",account.LogicalName,account.Name);
// Retrieve the several attributes from the new account.
ColumnSet cols = new ColumnSet(
new String[]{"name","address1_postalcode","lastusedincampaign"});
Account retrievedAccount =
(Account)_orgService.Retrieve("account", _accountId, cols);
Console.Write("retrieved, ");
// Update the postal code attribute.
retrievedAccount.Address1_PostalCode = "98052";
// The address 2 postal code was set accidentally, so set it to null.
retrievedAccount.Address2_PostalCode = null;
// Shows use of a Money value.
retrievedAccount.Revenue = new Money(5000000);
// Shows use of a Boolean value.
retrievedAccount.CreditOnHold = false;
// Update the account record.
_orgService.Update(retrievedAccount);
Console.WriteLine("and updated.");
// Delete any entity records this sample created.
DeleteRequiredRecords(promptforDelete);
}
}
// Catch any service fault exceptions that Microsoft Dynamics CRM throws.
catch(FaultException<microsoft.xrm.sdk.organizationservicefault>) {
// You can handle an exception here or pass it back to the calling method.
throw;
}
}
Adım 4 − Bu yöntem temelde CRM web servislerini kullanarak tüm CRUD işlemlerini gösterir. Kod önce bir kuruluş örneği oluşturur, ardından bir Hesap kaydı oluşturur, oluşturulan kaydı günceller ve son olarak siler. Bu kodun önemli bileşenlerine bakalım. Bu kod çalışırken CRM'deki değişiklikleri anlık olarak görmek için, bu kodu adım adım (aşağıda tartıştığımız gibi) hata ayıklayabilir ve aynı anda CRM'deki değişiklikleri görebilirsiniz.
Adım 4.1 − 2. adımda değiştirdiğimiz bağlantı dizesini kullanarak kuruluşa bağlantı kurar.