Schritt 1: Testen des Ausgangshandlers des Echo-Adapters
Dauer der Fertigstellung: 15 Minuten
In diesem Schritt testen Sie die drei ausgehenden Vorgänge, die vom Echoadapter bereitgestellt werden. Dazu verwenden Sie Visual Studio, die Referenz zum Hinzufügen des Adapterdiensts in Visual Studio Plug-In und benutzerdefinierten Code.
Voraussetzungen
Um diesen Schritt auszuführen, müssen Sie Tutorial 1: Entwickeln des Echoadapters abgeschlossen haben.
Erstellen eines Visual Studio-Projekts
Starten Sie Visual Studio.
Zeigen Sie in Visual Studio im Menü Datei auf Neu, und klicken Sie dann auf Projekt.
Führen Sie im Dialogfeld Neues Projekt folgende Schritte aus:
Option Aufgabe Projekttypen Klicken Sie auf Visual C#. Vorlagen Klicken Sie auf Konsolenanwendung. Name Geben Sie ConsumeEchoAdapter_Outbound ein. Location Geben Sie C:\Tutorials ein. Projektmappenname Geben Sie ConsumeEchoAdapter_Outbound ein. Klicken Sie auf OK.
Klicken Sie in Visual Studio im Menü Datei auf Alle speichern.
Durchsuchen, Suchen und Generieren des WCF-Clients
Klicken Sie im Visual Studio-Projektmappenbereich mit der rechten Maustaste auf ConsumeEchoAdapter_Outbound Projekt, und wählen Sie dann Adapterdienstverweis hinzufügen aus, um das Plug-In Adapterdienstverweis hinzufügen zu starten.
Wählen Sie auf dem Bildschirm Adapterdienstverweis hinzufügen eine Bindung aus. Wählen Sie dazu echoAdapterBindingV2 aus.
Konfigurieren Sie als Nächstes die Adapter- und Verbindungseigenschaften, indem Sie auf Konfigurieren... klicken. Dadurch wird der Bildschirm Adapter konfigurieren angezeigt.
Wählen Sie auf dem Bildschirm Adapter konfigurieren die Registerkarte URI-Eigenschaften aus, um Verbindungseigenschaften zu konfigurieren. Beachten Sie, dass die benutzerdefinierten Echoadapterkategorien angezeigt werden – Verbindung und Format. Ändern Sie unter der Kategorie Format den Wert EchoInUpperCase in True.
Wählen Sie auf dem Bildschirm Adapter konfigurieren die Registerkarte Bindungseigenschaften aus, um die Adaptereigenschaften zu konfigurieren. Beachten Sie, dass die benutzerdefinierten Echoadapterkategorien Eingehend und Sonstige angezeigt werden. Ändern Sie unter der Kategorie "Sonstiges" die Option Anzahl in 3.
Klicken Sie auf OK , um den Bildschirm Adapter konfigurieren zu schließen und zum Bildschirm Adapterdienstverweis hinzufügen zurückzukehren.
Klicken Sie als Nächstes auf Verbinden , um eine Verbindung mit dem Echoadapter (und dem hypothetischen Branchensystem, das er unterstützt) herzustellen. Nach einigen Augenblicken sollte sich die Verbindungs-status in Verbunden ändern, und die Kategoriestruktur (unter Kategorie auswählen) sollte aufgefüllt werden.
Klicken Sie in der Kategoriestruktur auf Hauptkategorie. Dadurch wird die Liste der verfügbaren Kategorien und Vorgänge mit drei ausgehenden Vorgängen aufgefüllt. Es gibt keine Kategorien.
Hinweis
Der Standardvertragstyp ist Ausgehend. Die Kategorieergebnisse entsprechen diesem Vertragstyp.
Wählen Sie unter Verfügbare Kategorien und Vorgänge alle drei Vorgänge aus. Wenn eine große Anzahl von Vorgängen vorhanden ist, können Sie die Suche verwenden, um die Auswahl einzugrenzen. in diesem Fall gibt es nur drei. Klicken Sie auf Hinzufügen , um die ausgewählten Vorgänge teil der generierten WCF-Schnittstelle zu machen.
Klicken Sie auf OK , um die WCF-Schnittstelle zu generieren. Dadurch werden dem Projekt eine Anwendungskonfigurationsdatei (app.config) und ein WCF-Clientproxy (EchoAdapterBindingClient.cs) hinzugefügt.
Klicken Sie im Visual Studio-Menü auf Datei , und wählen Sie Alle speichern aus.
Konfigurieren der Adapterauthentifizierung
Doppelklicken Sie im Visual Studio-Projektmappenbereich aufapp.config.
Suchen Sie das
address
Attribut imendpoint
-Element. Es sollte ungefähr wie folgt aussehen:<endpoint address="echov2://lobhostname/lobapplication?enableAuthentication=False&echoInUpperCase=True" binding="echoAdapterBindingV2" bindingConfiguration="EchoAdapterBinding" contract="EchoOutboundContract" name="EchoAdapterBinding_EchoOutboundContract" />
Ändern Sie enableAuthentication von False in True , wie unten gezeigt. Dies erfordert, dass die aufrufende Anwendung Anmeldeinformationen an den Adapter übergibt.
<endpoint address="echov2://lobhostname/lobapplication?enableAuthentication=True&echoInUpperCase=True" binding="echoAdapterBindingV2" bindingConfiguration="EchoAdapterBinding" contract="EchoOutboundContract" name="EchoAdapterBinding_EchoOutboundContract" />
Speichern Sie die Projektmappe, indem Sie im Visual Studio-Menü auf Datei klicken und Alle speichern auswählen.
Erstellen einer XML-Beispieldatei
Starten Sie eine instance von Editor. Klicken Sie im Startmenü auf Alle Programme | Zubehör , und wählen Sie dann Editor aus.
Kopieren Sie die folgenden Beispieldaten in den Editor-Editor.
<?xml version="1.0" encoding="utf-16"?> <ns0:greeting xmlns:ns0="echov2://microsoft.adapters.samples.echov2/PreDefinedTypes"> <ns0:address> <ns0:street1>123 Microsoft Way</ns0:street1> <ns0:street2>Building # 4599</ns0:street2> <ns0:city>Redmond</ns0:city> <ns0:state>WA</ns0:state> <ns0:zip>98052</ns0:zip> </ns0:address> <ns0:greetingText>Welcome to Redmond!</ns0:greetingText> </ns0:greeting>
Klicken Sie im Editor-Menü auf Datei , und wählen Sie dann Speichern unter... aus. Geben Sie "CustomGreetingInstance.xml" als Dateinamen ein, wählen Sie Unicode für die Codierung aus, und speichern Sie ihn dann im Projektverzeichnis oder an einem anderen geeigneten Speicherort. Notieren Sie sich den vollständigen Pfad und Dateinamen für späteren Verweis.
Schließen Sie den Text-Editor, wenn die Datei erfolgreich gespeichert wurde.
Testen des Echoadapters
Doppelklicken Sie in Projektmappen-Explorer auf die Datei Program.cs.
Fügen Sie im Visual Studio-Editor in der Main-Methode die folgende Codezeile hinzu, um eine instance des generierten WCF-Clients zu erstellen.
EchoOutboundContractClient client = new EchoOutboundContractClient();
Fügen Sie nun Code hinzu, der Anmeldeinformationen für den Adapter festlegt. Wenn die Authentifizierung im Echoadapter aktiviert ist, wird überprüft, ob ein Benutzername vorhanden ist, aber der Wert wird nicht überprüft.
// pass client credentials client.ClientCredentials.UserName.UserName = "username";
Fahren Sie fort, indem Sie Code hinzufügen, um den EchoStrings-Vorgang aufzurufen.
// Invoke EchoStrings() Console.WriteLine("Invoking EchoStrings() method against the adapter..."); string[] response = client.EchoStrings("Bonjour!"); foreach (string data in response) { Console.WriteLine(data); }
Fahren Sie fort, indem Sie Code hinzufügen, um den EchoGreetings-Vorgang aufzurufen.
// Invoke EchoGreetings() Console.WriteLine("\nInvoking EchoGreetings() method against the adapter..."); microsoft.adapters.samples.echov2.Types.Greeting greeting = new microsoft.adapters.samples.echov2.Types.Greeting(); greeting.id = Guid.NewGuid(); greeting.sentDateTime = DateTime.Now; greeting.greetingText = "Hello World!"; greeting.name = new microsoft.adapters.samples.echov2.Types.Name(); greeting.name.salutation = microsoft.adapters.samples.echov2.Types.Salutation.Miss; greeting.name.firstName = "Jane"; greeting.name.middleName = "Z."; greeting.name.lastName = "Smith"; microsoft.adapters.samples.echov2.Types.Greeting[] greetingArray = client.EchoGreetings(greeting); foreach (microsoft.adapters.samples.echov2.Types.Greeting data in greetingArray) { Console.WriteLine(data.id + " " + data.sentDateTime + " " + data.greetingText + " " + data.name.firstName ); }
Fahren Sie fort, indem Sie Code hinzufügen, um den EchoCustomGreetingsFromFile-Vorgang aufzurufen.
// Invoke EchoCustomGreetingFromFile() Console.WriteLine("\nInvoking EchoCustomGreetingFromFile() method against the adapter ..."); // Copy the sample data from CustomGreeting-instance.xml file and place in appropriate folder // as specified in the operation parameter microsoft.adapters.samples.echov2.PreDefinedTypes.CustomGreeting // change the Uri to point to the greeting instance xml file you created customGreeting = client.EchoCustomGreetingFromFile(new Uri(@"c:\CustomGreetingInstance.xml")); Console.WriteLine(customGreeting.greetingText + " " + customGreeting.address.city); client.Close(); Console.ReadLine();
Stellen Sie im EchoCustomGreetingsFromFile-Testcode sicher, dass die benutzerdefinierte Begrüßung die Datei verwendet, die Sie in einer vorherigen Prozedur erstellt haben. Ändern Sie den Code so, dass er den Speicherort Ihrer Datei widerspiegelt.
Klicken Sie in Visual Studio im Menü Datei auf Alle speichern.
Führen Sie die Anwendung aus. Die Ausgabe sollte etwa folgendermaßen aussehen:
Aufrufen der EchoStrings()-Methode für den Adapter...
Bonjour!
Bonjour!
Bonjour!
Bonjour!
Bonjour!
Aufrufen der EchoGreetings()-Methode für den Adapter...
179665bb-db21-42ac-810e-77ebfa99d460 13.09.2007 15:18:07 Hallo Welt! Jane
179665bb-db21-42ac-810e-77ebfa99d460 13.09.2007 15:18:07 Hallo Welt! Jane
179665bb-db21-42ac-810e-77ebfa99d460 13.09.2007 15:18:07 Hallo Welt! Jane
179665bb-db21-42ac-810e-77ebfa99d460 13.09.2007 15:18:07 Hallo Welt! Jane
179665bb-db21-42ac-810e-77ebfa99d460 13.09.2007 15:18:07 Hallo Welt! Jane
Aufrufen der EchoCustomGreetingFromFile()-Methode für den Adapter ...
Willkommen in Redmond! Redmond
Drücken Sie die EINGABETASTE, um das Programm zu beenden.
Was habe ich nur getan?
In diesem Schritt haben Sie eine Testanwendung für die drei ausgehenden Vorgänge erstellt, die vom in Tutorial 1 entwickelten Echoadapter verfügbar gemacht werden. Dazu haben Sie ein Visual Studio-Projekt erstellt, einen WCF-Dienst generiert und Code zum Hosten des WCF-Diensts bereitgestellt. Schließlich haben Sie die Testanwendung ausgeführt.
Nächste Schritte
Fahren Sie mit Schritt 2: Testen des eingehenden Handlers des Echoadapters fort, um den eingehenden Vorgang zu testen.
Weitere Informationen
Tutorial 2: Nutzen des Echo-Adapters aus .NET
Schritt 2: Testen des Eingangshandlers des Echo-Adapters