Freigeben über


Utilisation du Web Service

Certains d'entre vous m'ont demandé un petit tutorial sur la facon d'intégrer des données depuis un formulaire web dans Dynamics CRM...

C'est d'ailleurs un point qu'il est facile d'illustrer en avant vente, lors d'une présentation technique, pour démontrer la souplesse et l'ouverture de Dynamics CRM autour des web services...

Dans les slides de Philippe du Techdays (dispo sur le box.net) vous trouverez une présentation de l'architecture applicative, qui montre les deux web services, qui font le coeur de notre application.

 L'exercice que je propose aux débutants sur ces sujets est de créer une petite application web, qui ira créer un prospect dans CRM (besoin métier : un zone ''Contact'' sur un le site institutionnel,  directement connecter au CRM entrainant la création d'n prospect)

 Voici la méthode pas à pas :

1) aller dans VS Studio 2005 -> Fichier -> nouveau site web ASP.NET et selectionner le language C# plutot que VB.Net (on a chacun nos préférence)

2) dans l'explorateur clic droit pour ajouter une web référence sur le web service CRM : https://<servername[:port]>/mscrmservices/2007/crmservice.asmx avec le namespace : entreprise (ou celui de votre choix)
    dans le code behind (presser F7 sur la page default.asp), bien rajouter en haut la référence : using entreprise;

3) designer le ''pseudo'' site web : un peu de HTML pour avoir une page web sympa (rajouter des images...). Rajouter également des textbox dans lesquelles vous entrerez le nom, prenom, entreprise, email, description du projet.... pour créer le prospect dans CRM

4) le plus important : l'appel du web service : rajouter un bonton dans le design, double clic dessus pour associer du code à cet evenement

protected void Button1_Click(object sender, EventArgs e)
    {
        CrmAuthenticationToken token = new CrmAuthenticationToken();
        token.AuthenticationType = 0;
        token.OrganizationName = "VotreorganisationCRM" // attention, je crois que l'organisation est case sensitive

        CrmService service = new CrmService();
        service.Url = "https://entreprise:5555/mscrmservices/2007/crmservice.asmx";
        service.CrmAuthenticationTokenValue = token;
        service.Credentials = System.Net.CredentialCache.DefaultCredentials;

   // Reste à passer les informations collectées dans les textbox dans la bonne entité. Un textbox pour un attribut de l'entité... 
         lead entrepreneur = new lead();
         entrepreneur.subject = TextBox1.Text;
         entrepreneur.lastname = TextBox2.Text;
         entrepreneur.firstname = TextBox3.Text;
         entrepreneur.companyname = TextBox4.Text;
         entrepreneur.description = TextBox5.Text;
         entrepreneur.emailaddress1 = TextBox6.Text;

        Guid leadguid = service.Create(entrepreneur); //leadguid contient le GUID du prospect tout juste créé

    }

Ces quelques lignes suffissent pour cette illustration... libre à vous de raffiner un peu plus ce petit bout de code.

A noter : pour un compte, ou un contact, ou tout autre entité (même perso), c'est TOUJOURS pareil...

il faut juste instancier l'entité contact mycontact = new contact() ou new_myentite perso = new new_myentie(), remplir les attributs, et appeler le web service

La suite dans le SDK...

PS : dans ce scénario de démonstration, vous pouvez également illustrer le workflow !!! le prospect est directement intégré, attribué (en fonction du code postal par exemple à un utilisateur), CRM envoie un email personnalisé pour remercier le prosepct de sa visite sur le site web, avec les coordonnées d'une personne à contacter.... bref, la suite est à imaginer en fonction des besoins de vos clients pour le processus de qualification et suivi de de leur prospects....

 Vincent

Comments

  • Anonymous
    April 22, 2008
    PingBack from http://microsoftnews.askpcdoc.com/?p=3949

  • Anonymous
    January 21, 2009
    Bonjour, Mon travail de fin d'étude consiste justement à créer un web service à intégrer dans le CRM4.0 Le but est de créer une application gérant directement les devis/commandes/facture sans passer les multiples fenêtres du CRM. Serait-il possible d'avoir une petite explication plus complète sur l'utilisation des web service ? Autrement dit, créer un vue, mettre à un jour un enregistrement précis etc ... J'espère que vous pourrez m'aider, car les informations sont souvent en anglais et compliquées ... D'avance merci, Mike.

  • Anonymous
    January 21, 2009
    Je me suis trompé, ce n'est pas un web service que je dois créer, mais une application web qui utilise les web service et requêtes sql ... désolé ^^