Vorgehensweise: Veröffentlichen eines Diensts in der UDDI 3.0-Registrierung
Zielsetzung
In diesem Abschnitt wird veranschaulicht, wie Sie die UDDI-Dienstwebsite verwenden, um einen Webdienstendpunkt zu veröffentlichen, der innerhalb einer Reiseroute aufgelöst werden kann, um eine ESB-Nachricht weiterzuleiten. Sie duplizieren den vorhandenen PurchaseOrderSubmitOrderService-Dienst, der derzeit in der Registrierung veröffentlicht wurde.
In diesem How-to-Thema führen Sie die folgenden Schritte aus:
Veröffentlichen Sie mithilfe des UDDI Publisher-Tools einen Dienst in der UdDI 3-Registrierung (Universal Description, Discovery, And Integration).
Testen Sie die Dienstveröffentlichung mithilfe eines Routenroutingzettels, der den Dienstendpunkt mithilfe eines UDDI3-Resolvers auflöst.
Voraussetzungen
Die Verfahren in diesem Thema zur Vorgehensweise erfordern den Abschluss der Voraussetzungen für die Entwicklungsaktivitäten und die Ausführung des UDDI Publisher-Tools (Sie können es unter %ESB-Installationsordner%\Bin\Microsoft.Practices.ESB.UDDIPublisher.exe installieren).
Schritte
So erstellen Sie newPOService in der UDDI-Registrierung
Navigieren Sie in internet Explorer zur UDDI-Dienstwebsite (standardmäßig lautet die URL für diesen Dienst.http://localhost/uddi).
Klicken Sie auf der Seite uddi Services auf Veröffentlichen.
Klicken Sie im Bereich Veröffentlichen mit der rechten Maustaste auf Microsoft.Practices.ESB, und klicken Sie dann auf Dienst hinzufügen.
Wählen Sie auf der folgenden Seite Zu verwendenden Schlüssel angeben aus, und klicken Sie dann auf Weiter.
Klicken Sie auf der folgenden Seite auf die Esb-Schlüsselpartition . Geben Sie im Feld Schlüsselsuffixnewposervice ein, und klicken Sie dann auf Weiter.
Klicken Sie auf der folgenden Seite neben (Neuer Dienstname) auf Bearbeiten. Nennen Sie den Dienst NewPOService, und klicken Sie dann auf Aktualisieren.
Klicken Sie auf Beschreibung hinzufügen, geben Sie eine Beschreibung für den Dienst ein (z. B . Beispieldienst), und klicken Sie dann auf Aktualisieren.
So fügen Sie eine Bindung für NewPOService hinzu
Klicken Sie auf die Registerkarte Bindungen , und klicken Sie dann auf Bindung hinzufügen.
Wählen Sie Zu verwendenden Schlüssel angeben aus, und klicken Sie dann auf Weiter.
Klicken Sie auf der folgenden Seite auf die Esb-Schlüsselpartition . Geben Sie im Feld Schlüsselsuffixnewposervicebinding ein, und klicken Sie dann auf Weiter.
Klicken Sie unter Zugriffspunkt auf Bearbeiten, und führen Sie dann Folgendes aus:
Geben Sie im Feld Zugriffspunkt die Zeichenfolge ein http://localhost/ESB.CanadianServices/SubmitPOService.asmx.
Klicken Sie in der Dropdownliste Typ verwenden auf Endpunkt, und klicken Sie dann auf Aktualisieren.
So konfigurieren Sie die Bindungsinformationen instance
Klicken Sie auf die Registerkarte Instanzinformationen und dann auf Instanzinformationen hinzufügen.
Geben Sie im Feld Nach tModel-Namen suchen mit%esb% ein, und klicken Sie dann auf Suchen.
Suchen Und klicken Sie auf das tModel für transporttype.
Hinweis
Um die verbleibenden Schritte in diesem Verfahren auszuführen, müssen Sie möglicherweise zwischen Seite 1 und Seite 2 wechseln.
Klicken Sie im Abschnitt Beschreibungen auf Beschreibung hinzufügen.
Geben Sie im Feld Beschreibungtransport type for ESB Itinerary Use ein, und klicken Sie dann auf Aktualisieren.
Klicken Sie auf die Registerkarte Instanzdetails und dann auf Bearbeiten.
Geben Sie im Feld Instanzparameterden Namen WCF-BasicHttp ein, und klicken Sie dann auf Aktualisieren.
Klicken Sie im Abschnitt Beschreibungen auf Beschreibung hinzufügen.
Geben Sie im Feld Beschreibungwcf Basic HTTP Transport ein, und klicken Sie dann auf Aktualisieren.
Klicken Sie im Bereich Veröffentlichen unter NewPOService auf http://localhost/esb.canadianservices/submitposervice.asmx.
Klicken Sie auf der Registerkarte Instanzinformationen auf Instanzinformationen hinzufügen.
Fügen Sie anhand der oben beschriebenen Schritte die folgenden instance Informationen gemäß den in der folgenden Tabelle dargestellten Werten hinzu.
Tmodel BESCHREIBUNG Parameter Parameterbeschreibung microsoft-com:esb:runtimeresolution:messageexchangepattern Nachrichtenaustauschmuster Bidirektional Bidirektionale Operation microsoft-com:esb:runtimeresolution:cachetimeout Cachetimeout -1 Derzeit deaktiviert microsoft-com:esb:runtimeresolution:jaxrpcresponse JaxRpcResponse false microsoft-com:esb:runtimeresolution:action Dienstaktion submitOrder Gibt die aufzurufende Dienstmethode an. microsoft-com:esb:runtimeresolution:targetnamespace Dienstnamespace http://globalbank.esb.dynamicresolution.com/canadianservices Zielnamespace
So konfigurieren Sie die Bindungskategorisierung
Klicken Sie im Bereich Veröffentlichen unter NewPOService auf http://localhost/esb.canadianservices/submitposervice.asmx.
Klicken Sie auf der Registerkarte Kategorien auf Benutzerdefinierte Kategorie hinzufügen.
Geben Sie im Suchfeld%esb% ein, und klicken Sie dann auf Suchen.
Suchen Sie nach microsoft-com:esb:runtimeresolution:biztalkapplication tModel, und klicken Sie auf das tModel.
Geben Sie im Feld Schlüsselnameden Namen BizTalk-Anwendung ein.
Geben Sie im Feld Schlüsselwertden Wert Microsoft.Practices.ESB ein, und klicken Sie dann auf Kategorie hinzufügen.
Fügen Sie anhand der oben beschriebenen Schritte die folgenden benutzerdefinierten Kategorien gemäß den in der folgenden Tabelle gezeigten Werten hinzu.
Tmodel Schlüsselname Schlüsselwert microsoft-com:esb:runtimeresolution:portname Portname NewPOService microsoft-com:esb:runtimeresolution:transporttype Transporttyp WCF-BasicHttp
So suchen Sie den Dienst in der UDDI-Registrierung
Klicken Sie in Internet Explorer auf der Seite uddi-Dienste auf Suchen.
Klicken Sie auf die Registerkarte Dienste.
Geben Sie im Feld Dienstname%PO% ein, und klicken Sie dann auf Suchen.
Klicken Sie im Bereich Suche auf der Registerkarte Ergebnisse auf NewPOService.
Hinweis
Dadurch wird bestätigt, dass der Dienst erfolgreich in der Registrierung veröffentlicht wurde.
So erstellen Sie ein Routenmodell zum Testen der UDDI-Dienstveröffentlichung
Öffnen Sie in Visual Studio C:\HowTos\Patterns\Patterns.sln.
Klicken Sie Projektmappen-Explorer mit der rechten Maustaste auf das Projekt ItineraryLibrary, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Neue Reiseroute.
Geben Sie im Dialogfeld Neues Element hinzufügen im Feld Nameden Namen NewBindingKeySearch ein, und klicken Sie dann auf Hinzufügen.
So konfigurieren Sie die Eigenschaften der Reiseroute
Klicken Sie in Visual Studio auf die Entwurfsoberfläche von NewBindingKeySearch.itinerary. Konfigurieren Sie im NewBindingKeySearch-Eigenschaftenfenster die folgenden Eigenschaften:
Klicken Sie in der Dropdownliste Ist Anforderungsantwort auf True.
Klicken Sie in der Dropdownliste Modellexporter auf XML-Programmablaufexporter.
Klicken Sie im Abschnitt Extendereinstellungen neben der Dateieigenschaft Itinerary XML auf die Schaltfläche mit den Auslassungspunkten (...).
Geben Sie im Dialogfeld XML-Datei auswählen den Namen C:\HowTos\Itineraries\NewBindingKeySearch in das Feld Dateiname ein, und klicken Sie dann auf Speichern.
Hinweis
In diesem Schritt können Sie die Reiseroute als XML an einen lokalen Dateispeicherort exportieren. Durch exportieren einer Reiseroute in einen lokalen Dateispeicherort statt in die Reiseplandatenbank ermöglicht das Testen der Reiseroute mithilfe der ESB-Testclientanwendung. Sie schließen diesen Prozess später in diesem Thema ab.
So definieren Sie die Struktur der Reiseroute
Ziehen Sie aus der Toolbox ein On-Ramp-Modellelement auf die Entwurfsoberfläche. Konfigurieren Sie im OnRamp1-Eigenschaftenfenster die folgenden Eigenschaften:
Klicken Sie auf die Name-Eigenschaft , und geben Sie dann ReceiveNAOrder ein.
Klicken Sie in der Dropdownliste Extender auf On-Ramp ESB Extender ( On-Ramp ESB Extender).
Klicken Sie in der Dropdownliste BizTalk-Anwendung auf Microsoft.Practices.ESB.
Klicken Sie in der Dropdownliste Empfangsport auf OnRamp.Itinerary.Response.
Ziehen Sie aus der Toolbox ein Modellelement des Programmplanungsdiensts auf die Entwurfsoberfläche. Konfigurieren Sie im Eigenschaftenfenster ItineraryService1 die folgenden Eigenschaften:
Klicken Sie auf die Name-Eigenschaft , und geben Sie dann TransformNAOrder ein.
Klicken Sie in der Dropdownliste Itinerary Service Extender auf Messaging Extender.
Erweitern Sie in der Dropdownliste Container den Eintrag ReceiveNAOrder, und klicken Sie dann auf Empfangshandler.
Klicken Sie in der Dropdownliste Dienstname auf Microsoft.Practices.ESB.Services.Transform.
Klicken Sie mit der rechten Maustaste auf die Resolver-Auflistung des TransformNAOrder-Modellelements , und klicken Sie dann auf Neuen Resolver hinzufügen. Konfigurieren Sie im Eigenschaftenfenster Resolver1 die folgenden Eigenschaften:
Klicken Sie auf die Name-Eigenschaft , und geben Sie dann NAOrder_to_CNOrder ein.
Klicken Sie in der Dropdownliste Resolverimplementierung auf Statische Resolvererweiterung.
Klicken Sie in der Dropdownliste Transformationstyp auf GlobalBank.ESB.DynamicResolution.Transforms.SubmitOrderRequestNA_To_SubmitOrderRequestCN.
Klicken Sie in der Toolbox auf Connector. Ziehen Sie eine Verbindung aus dem ReceiveNAOrder-Modellelement auf das TransformNAOrder-Modellelement .
Ziehen Sie aus der Toolbox ein Modellelement des Programmplanungsdiensts auf die Entwurfsoberfläche. Konfigurieren Sie im Eigenschaftenfenster ItineraryService1 die folgenden Eigenschaften:
Klicken Sie auf die Name-Eigenschaft , und geben Sie bindingKeyRoute ein.
Klicken Sie in der Dropdownliste Itinerary Service Extender auf Messaging Extender.
Erweitern Sie in der Dropdownliste Container den Eintrag ReceiveNAOrder, und klicken Sie dann auf Empfangshandler.
Klicken Sie in der Dropdownliste Dienstname auf Microsoft.Practices.ESB.Services.Routing.
Klicken Sie mit der rechten Maustaste auf die Resolver-Auflistung des BindingKeyRoute-Modellelements , und klicken Sie dann auf Neuen Resolver hinzufügen. Konfigurieren Sie im Eigenschaftenfenster Resolver1 die folgenden Eigenschaften:
Klicken Sie auf die Name-Eigenschaft , und geben Sie bindingKeySearch ein.
Klicken Sie in der Dropdownliste Resolverimplementierung auf Uddi3 Resolver-Erweiterung.
Klicken Sie in der Dropdownliste Resolver Moniker auf UDDI3.
Klicken Sie auf die Eigenschaft Bindungsschlüssel , und geben Sie uddi:esb:newposervicebinding ein. Um den Schlüsselwert zu ermitteln, klicken Sie in UDDI auf den http://localhost/ESB.CanadianServices/SubmitPOService.asmx Dienst, und klicken Sie dann auf Weitere Details.
Klicken Sie mit der rechten Maustaste auf den Resolver BindingKeySearch , und klicken Sie dann auf Konfiguration des Resolvers testen.
Hinweis
Überprüfen Sie die im Fenster Ausgabe angezeigte Ausgabe.
Klicken Sie in der Toolbox auf Connector. Ziehen Sie eine Verbindung vom TransformNAOrder-Modellelement auf das BindingKeyRoute-Modellelement .
Ziehen Sie aus der Toolbox ein Off-Ramp-Modellelement auf die Entwurfsoberfläche, und platzieren Sie es dann rechts neben dem BindingKeyRoute-Modellelement . Konfigurieren Sie im offRamp1-Eigenschaftenfenster die folgenden Eigenschaften:
Klicken Sie auf die Name-Eigenschaft , und geben Sie sendCNOrder ein.
Klicken Sie in der Dropdownliste Extender auf OFF-Ramp ESB Extender.
Klicken Sie in der Dropdownliste BizTalk-Anwendung auf GlobalBank.ESB.
Klicken Sie in der Dropdownliste Port senden auf DynamicResolutionSolicitResp.
Ziehen Sie aus der Toolbox ein Modellelement des Programmplanungsdiensts auf die Entwurfsoberfläche, und platzieren Sie es dann zwischen dem BindingKeyRoute-Modellelement und dem SendCNOrder-Modellelement . Konfigurieren Sie im Eigenschaftenfenster ItineraryService1 die folgenden Eigenschaften:
Klicken Sie auf die Name-Eigenschaft , und geben Sie sendPortFilter ein.
Klicken Sie in der Dropdownliste Itinerary Service Extender auf Off-Ramp Extender.
Erweitern Sie in der Dropdownliste Off-Ramp den Eintrag SendCNOrder, und klicken Sie dann auf Handler senden.
Klicken Sie in der Toolbox auf Connector. Ziehen Sie eine Verbindung vom BindingKeyRoute-Modellelement auf das SendPortFilter-Modellelement .
Klicken Sie in der Toolbox auf Connector. Ziehen Sie eine Verbindung aus dem SendPortFilter-Modellelement auf das SendNAOrder-Modellelement .
So exportieren Sie das Modell für die Verwendung mit dem Programmablauftestclient
Klicken Sie in Visual Studio mit der rechten Maustaste auf die Entwurfsoberfläche der NewBindingKeySearch-Reiseroute , und klicken Sie dann auf Modell exportieren.
Hinweis
Die XML-Version der Reiseroute wird in Visual Studio geöffnet.
Speichern Sie alle Projektartefakte.
Navigieren Sie in Windows Explorer zu C:\HowTos\Itineraries, und beachten Sie die Erstellung Ihrer Reiserouten-XML (NewBindingKeySearch.xml).
So testen Sie die Reiseroute
Öffnen Sie die Beispielanwendung "Itinerary Test Client", indem Sie die Verknüpfung verwenden, die während der Voraussetzungen für die Entwicklungsaktivitäten (C:\HowTos\ESB.Itinerary.Test.exe - Verknüpfung) erstellt wurde.
Deaktivieren Sie im Programmablauftestclient in der Gruppe Webdienstoptionen das Kontrollkästchen WCF-Dienst verwenden , und aktivieren Sie dann das Kontrollkästchen Bidirektionale Dienste .
Klicken Sie auf die Schaltfläche Route laden .
Navigieren Sie im Dialogfeld Reiseroutendatei öffnen zu C:\HowTos\Itineraries. Wählen Sie NewBindingKeySearch.xmlaus, und klicken Sie dann auf Öffnen , um die Reiseroute zu laden.
Klicken Sie auf OK , um die Meldung Route erfolgreich geladen zu löschen.
Klicken Sie im Programmablauftestclient auf die Schaltfläche mit den Auslassungspunkten (...) neben dem Feld Nachricht laden .
Navigieren Sie im Dialogfeld Zu ladende XML-Dokument auswählen zu C:\HowTos. Wählen Sie NAOrderDoc.xmlaus, und klicken Sie dann auf Öffnen , um die Testnachricht zu laden.
Klicken Sie auf die Schaltfläche Anforderung übermitteln . Klicken Sie nach Abschluss des Tests auf OK , um die angezeigte Bestätigung zu schließen.
Vergewissern Sie sich, dass die richtige Antwortmeldung im Textfeld Ergebnis des Itineray-Testclients angezeigt wird.
Weitere Ressourcen
Weitere Informationen finden Sie in folgenden verwandten Themen: