Exemplarische Vorgehensweise: Einen UII-Webanwendungs-Adapter erstellen
Veröffentlicht: November 2016
Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016
Sie können einen Webanwendungsadapter erstellen, wenn Sie Webanwendungen verbessern möchten, für die Sie über keinen Zugriff auf Quellcode verfügen oder Berechtigungen zum Ändern besitzen, indem Sie verwalteten Code verwenden.Microsoft Dynamics 365 stellt eine Microsoft Visual Studio-Vorlage zum Erstellen eines Webanwendungsadapters bereit. Die Vorlage bietet grundlegenden Code als Kommentare, um Ihnen dabei zu helfen, den Webanwendungs-Adapter entwicklen zu können.
In dieser exemplarischen Vorgehensweise erstellen Sie eine externe Webanwendung namens QsWebApplication und hosten sie in Unified Service Desk. Sie erstellen und konfigurieren dann einen Webanwendungsadapter namens MyWebApplicationAdapter, damit die externe Webanwendung mit Unified Service Desk interagieren kann. Die Webanwendung hat vier Labels, je eines für Vornamen, Nachnamen, Adresse und ID des Kunden, und vier entsprechende Textfelder, um die Unified Service Desk-Werte anzuzeigen.
In diesem Thema
Voraussetzungen
Schritt 1: Erstellen einer Beispielwebanwendung
Schritt 2: Konfigurieren der Webanwendung in Dynamics 365
Schritt 3: Testen der Webanwendung
Schritt 4: Erstellen des Webanwendungsadapters
Schritt 5: Konfigurieren des Webanwendungsadapters in Dynamics 365
Schritt 6: Testen des Webanwendungsadapters
Voraussetzungen
Microsoft .NET Framework 4.5.2
Unified Service Desk-Client-Anwendung; erforderlich für das Testen des gehosteten Steuerelements.
Microsoft Visual Studio 2012, Visual Studio 2013 oder Visual Studio 2015
NuGet Package Manager für Visual Studio 2012, Visual Studio 2013 oder Visual Studio 2015
Microsoft Dynamics 365 SDK-Vorlagen für Visual Studio, das die gehostete UII- Steuerelement-Projektvorlage enthält. Sie können Sie auf eine der folgenden Weisen erhalten:
Laden Sie die CRM-SDK-Vorlage herunter. Doppelklicken Sie zur Installation der Vorlage in Visual Studio auf die Datei CRMSDKTemplates.vsix.
Laden Sie das CRM SDK-Paket herunter und extrahieren Sie es. Wechseln Sie zum SDK\Templates-Ordner. Doppelklicken Sie zur Installation der Vorlage in Visual Studio auf die Datei CRMSDKTemplates.vsix.
Schritt 1: Erstellen einer Beispielwebanwendung
Doppelklicken Sie auf die Paketdatei, um den Inhalt zu extrahieren.
Navigieren Sie zum <ExtractedFolder>\UII\SampleCode\UII\AIF\QsWebApplication-Ordner, und öffnen Sie die Microsoft.Uii.QuickStarts.QsWebApplication.csproj-Datei in Visual Studio.
Drücken Sie F5 oder wählen Sie Debuggen > Debuggen starten, um die Beispiel-Webanwendung auf Ihrem Computer zu hosten. Die Anwendung wird gehostet auf https://localhost:2627/.
Schritt 2: Konfigurieren der Webanwendung in Dynamics 365
Melden Sie sich bei Microsoft Dynamics 365 an.
Gehen Sie zu Einstellungen > Unified Service Desk.
Wählen Sie Gehostete Steuerelemente aus.
Klicken Sie auf Neu.
Geben Sie auf der Seite Neues gehostetes Steuerelement die folgenden Werte an:
Feld
Wert
Name
QsWebApplication
USD-Komponententyp
Gehostete CCA-Anwendung
Gehostete Anwendung
Gehostete Webanwendung
Anwendung ist global
Markiert
Anzeigegruppe
MainPanel
Adapter
Keinen Adapter verwenden
Anwendung ist dynamisch
Nein
Anwendungshosting
SetParent verwenden
URL
Geben Sie den Ort an, an dem die Webanwendung gehostet wird. In diesem Fall ist es https://localhost:2627/
Klicken Sie auf Speichern.
Schritt 3: Testen der Webanwendung
Überprüfen Sie, ob die Beispiel-Webanwendung, die Sie in Schritt 1 erstellt haben, weiterhin ausgeführt wird.
Führen Sie den Unified Service Desk-Client aus, um eine Verbindung zu Ihrem Microsoft Dynamics 365-Server herzustellen.
Bei erfolgreicher Anmeldung wird auf dem Desktop Externe Beispiele-Webanwendung angezeigt.
Klicken Sie auf die Registerkarte Externe Beispiel-Webanwendung , um zu sehen, dass die Webanwendung im Unified Service Desk gehostet wird.
Hinweis
Zu diesem Zeitpunkt sind die Felder leer, da Sie nur die externe Webanwendung im Unified Service Desk hosten. Um die Liste mit Werten aus Unified Service Desk auszufüllen, müssen wir einen Webanwendungsadapter erstellen, wie im nächsten Schritt gezeigt.
Schritt 4: Erstellen des Webanwendungsadapters
Starten Sie Microsoft Visual Studio und erstellen Sie ein neues Projekt.
Im Dialogfeld Neues Projekt:
Erweitern Sie in der Liste der installierten Vorlagen auf der linken Seite Visual C#, und wählen Sie Dynamics 365 SDK-Vorlagen > Unified Service Desk > UII-Webanwendungsadapter aus.
Geben Sie den Namen und den Speicherort des Projekts an, und klicken Sie auf OK, um ein neues Projekt zu erstellen.
Wählen Sie WebAppAdapter.cs, und aktualisieren Sie die Definition von NotifyContextChange mit dem folgenden Code, um die Textfelder aus den Kontextinformationen aufzufüllen.Weitere Informationen:NotifyContextChange
public override bool NotifyContextChange(Context context) { // Populating text fields from context information. HTMLDocument htmlDoc = Browser.Document as HTMLDocument; if (htmlDoc != null) { IHTMLElementCollection htmlElementCollection = htmlDoc.all; IHTMLElement htmlFirstName = htmlElementCollection.item("txtFirstName", 0) as IHTMLElement; htmlFirstName.setAttribute("value", context["firstname"], 0); IHTMLElement htmlLastName = htmlElementCollection.item("txtLastName", 0) as IHTMLElement; htmlLastName.setAttribute("value", context["lastname"], 0); IHTMLElement htmlAddress = htmlElementCollection.item("txtAddress", 0) as IHTMLElement; htmlAddress.setAttribute("value", context["address1_line1"], 0); IHTMLElement htmlID = htmlElementCollection.item("txtID", 0) as IHTMLElement; htmlID.setAttribute("value", context["CustomerID"], 0); } return base.NotifyContextChange(context); }
Fügen Sie den folgenden Code aus der Außerkraftsetzungsdefinition DoAction hinzu, um die Anwendungswerte von Unified Service Desk zu aktualisieren.
public override bool DoAction(HostedWebApplication.WebAction action, ref string data) { Trace.WriteLine(string.Format("{0}>>>>> RECEIVED (WebAction) Action : {1} ", this.Name, action.Name)); // Check to see if the browser is working on something before allowing the system to do 'normal' behavior. if (Browser.WebBrowser.ReadyState != tagREADYSTATE.READYSTATE_COMPLETE) { // Browser is not in a state to process this request, Queue it for when the browser is ready to handle it. Trace.WriteLine(string.Format("{0}>>>>> Browser Busy,({2}) Queuing Action : {1} ", this.Name, action.Name, Browser.WebBrowser.ReadyState.ToString())); qReqActionList.Enqueue(new BrowserActionData(action, data)); return false; } Trace.WriteLine(string.Format("{0}>>>>>>>>>>> Action:Name={1} Action:Url={2} Action:Query={3} Action:Init={4}", this.Name, action.Name, action.Url, action.QueryString, action.Initialization)); // Get browser DOM and element collection. // Create an XML Document to load the passed in data to. HTMLDocument htmlDoc = Browser.Document as HTMLDocument; IHTMLElementCollection htmlElementCollection = htmlDoc.all; // Check action name for something we know how to process. switch (action.Name) { case "UpdateFirstName": IHTMLElement htmlFirstName = htmlElementCollection.item("txtFirstName", 0) as IHTMLElement; htmlFirstName.setAttribute("value", data, 0); break; case "UpdateLastName": IHTMLElement htmlLastName = htmlElementCollection.item("txtLastName", 0) as IHTMLElement; htmlLastName.setAttribute("value", data, 0); break; case "UpdateAddress": IHTMLElement htmlAddress = htmlElementCollection.item("txtAddress", 0) as IHTMLElement; htmlAddress.setAttribute("value", data, 0); break; case "UpdateID": IHTMLElement htmlID = htmlElementCollection.item("txtID", 0) as IHTMLElement; htmlID.setAttribute("value", data, 0); break; } return false; }
Speichern Sie das Projekt und bauen Sie es auf (Aufbauen > Lösung aufbauen). Nachdem das Projekt erfolgreich aufgebaut wurde, wird eine Assembly (MyWebApplicationAdapter.dll) im \bin\debug-Ordner Ihres Projektordners generiert. Sie benötigen diese Assembly späterzum Testen und Verwenden Ihres Webanwendungsadapters.
Schritt 5: Konfigurieren des Webanwendungsadapters in Dynamics 365
Melden Sie sich bei Microsoft Dynamics 365 an.
Klicken Sie auf der Navigationsleiste auf Microsoft Dynamics 365, und wählen Sie dann Einstellungen.
Klicken Sie auf Einstellungen > Unified Service Desk > Gehostete Steuerelemente.
Wählen Sie in der Liste der gehosteten Steuerelemente das gehostete Steuerelement QsWebApplication.
Geben Sie im Abschnitt Adapterkonfiguration die folgenden Werte an.
Feld
Wert
Adapter
Adapter verwenden
URI
MyWebApplicationAdapter
Typ
MyWebApplicationAdapter.WebAppAdapter
Hinweis
URI ist der Name Ihrer Assembly, und der Typ ist der Name Ihrer Assembly (dll), gefolgt von einem Punkt (.) und anschließend der Klassenname in Ihrem Visual Studio-Projekt. In diesem Beispiel lautet der Name des Assemblys MyWebApplicationAdapter und Name der Klasse ist WebAdapter; dies ist der Standardklassenname, wenn Sie ein benutzerdefiniertes gehostetes Steuerelement erstellen.
Wählen Sie Speichern aus, um die Änderungen zu speichern.
Schritt 6: Testen des Webanwendungsadapters
Kopieren Sie die Assembly, die die definition des Webanwendungsadapter enthält, aus Ihrem Visual Studio-Projktausgangsordner (<ProjectFolder>\bin\debug) in das Unified Service Desk-Anwendungsverzeichnis. In diesem Fall kopieren Sie die MyWebApplicationAdapter.dll-Datei in das c:\Program Files\Microsoft Dynamics CRM USD\USD-Verzeichnis.
Führen Sie den Unified Service Desk-Client aus, um eine Verbindung zu Ihrem Microsoft Dynamics 365-Server herzustellen.
Bei erfolgreicher Anmeldung wird auf dem Desktop die Schaltfläche für die externe Beispiel-Webanwendung angezeigt.
Wählen Sie Suchen aus und wählen Sie dann Kontakte aus, und wählen Sie einen Kontakt aus. Wählen Sie in diesem Fall Patrick Sands.
Klicken Sie auf Externe Beispiel-Webanwendung, und Sie sehen, dass Vorname, Nachname, Adresse und ID des Kunden ausgefüllt sind.
Hinweis
Diese v Vorgehensweise hat Ihnen gezeigt, wie Daten aus Unified Service Desk in der externen Webanwendung gelesen oder angezeigt werden. Wie die Daten in Unified Service Desk aus der externen Webanwendung aktualisiert werden und umgekehrt, finden Sie unter Exemplarische Vorgehensweise: Erstellen eines UII Windows Forms gehosteten Steuerelement
Siehe auch
Verwenden von UII-Adaptern, um mit externem und Webanwendungen zu interagieren
Unified Service Desk 2.0
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright