CRM 2011 – Acessar WCF (OnPremises)

Informação obsoleta, ver o post: CRM 2011 – Acessar WCF (Multi Autenticações)

Nas versões anteriores do CRM, tínhamos extensões denominadas ISV’s (Independent Software Vendor), assim, incluíamos funcionalidades adicionais como projetos de Web Application e as funções eram agregadas. Deste modo, pouca coisa mudava na rotina dos profissionais de .Net pois no final era C# ou VB.Net consumindo o CRM. Porém na versão 2011 a Microsoft optou por novos rumos, parte disto pelo “boom” das aplicações em nuvem.

A decisão acabou aprimorando os meios de desenvolvimentos para empresas e profissionais ISV’s como, o surgimento do Azure, a adoção definitiva do Silverlight e o Sandbox são exemplos claros da preocupação e aprimoramento do desenvolvimento avançado para o CRM, em contra partida, as antigas pastas ISV’s e Web Application não são mais suportados.

Porém, em alguns casos ainda necessitamos da velha Web Application e seus .aspx’s, ou ainda um serviço em Windows Service que precisa consumir diretamente o Web Service (WCF) do CRM para realizar algumas ações. Para isso faço este post! Teremos um exemplo de uma classe com um método estático que retorna um IOrganizationService, contendo as funções do Web Service para a interação com o CRM.

Crie uma Web Application e adicione na classe as dll’s do CRM (existentes na pasta Bin do SDK) Microsoft.Xrm.Sdk.Client e Microsoft.Xrm.Sdk, depois copie e cole o código abaixo, altere os valores para acessar o seu CRM e pronto!

using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel.Description;
using Microsoft.Xrm.Sdk.Client;
using System.Net;
using Microsoft.Xrm.Sdk;

namespace Authentication
{
public class Authentication
{
public IOrganizationService GetAuthentication()
{
ClientCredentials Credentials = new ClientCredentials();
//Credentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;
Credentials.Windows.ClientCredential = new NetworkCredential(
"LOGIN", "PASSWORD", "DOMAIN");

Uri OrganizationUri = new Uri("http://SERVER/ORGANIZATION/XRMServices/2011/Organization.svc");
Uri HomeRealmUri = null;

OrganizationServiceProxy serviceProxy = new OrganizationServiceProxy(OrganizationUri, HomeRealmUri, Credentials, null);

return (IOrganizationService)serviceProxy;
}
}
}

Para usar, veja um exemplo:

Entity contato = new Entity("contact");

contato["firstname"] = "Tiago";
contato["lastname"] = "Cardoso";

new Authentication().GetAuthentication().Create(contato);

Como eu disse é apenas um exemplo, pode ser otimizado e melhorado facilmente por vocês!   Em breve farei outro post com a autenticação em CRM 2011 Online.

Referências:

http://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.client.organizationserviceproxy.aspx

http://msdn.microsoft.com/en-us/library/gg328350.aspx

Anúncios

Sobre Tiago Michelini Cardoso

I have been working with IT since 2006, much of this period using Microsoft Dynamics CRM as a source of solutions. I graduated in Bachelor of Information Systems at FIAP (University of Informatics and Management Paulista). I participated of different industries projects like Payments, Services, Automotive, Sales, Education, Marketing, Insurances and Manufacture of Glass. Currently, I have the honor of being the only Brazilian who got the award for Microsoft MVP (Most Valuable Professional) for Microsoft Dynamics CRM product. I have received the award since 2012.
Esse post foi publicado em Dynamics CRM e marcado , , , , . Guardar link permanente.

2 respostas para CRM 2011 – Acessar WCF (OnPremises)

  1. Rafael Zanatta disse:

    Tiago, boa tarde!
    Me ajuda !!!
    Preciso de uma orientação pois preciso criar um webservice para buscar os dados do banco de dados do “XRMS” que é um CRM open source, e através desse webservice enviar os dados para o dynamics crm online.

    Se puder por favor me ajuda! …
    Criar um webservice básico eu sei, o problema é integrar com o dynamics online.
    Me ajuda! Dá uma dica!

    Curtir

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s