Freigeben über


Verwenden des Assistenten für BizTalk WCF-Dienstpublishing zum Veröffentlichen von Dienstmetadaten für einen WCF-Empfangsspeicherort für inhaltsbasiertes Routing

Mit dem Assistenten für BizTalk WCF-Dienstpublishing können Sie einen WCF-Dienst erstellen, um Dienstmetadaten für vorhandene WCF-Empfangsspeicherorte für inhaltsbasiertes Routing zu veröffentlichen.

Hinweis

Vor Ausführung des Assistenten für BizTalk WCF-Dienstpublishing müssen Sie Ihre BizTalk-Projekte erstellen. Die BizTalk-Projekte müssen Schemas zum Veröffentlichen als WCF-Dienste enthalten. Bevor Sie Dienstmetadaten für die WCF-Adapter veröffentlichen, müssen Sie auch die WCF-Empfangsspeicherorte erstellen, indem Sie die BizTalk Server-Verwaltungskonsole oder das in BizTalk Server enthaltene Befehlszeilentool BTSTask verwenden. Weitere Informationen zum Erstellen eines WCF-Empfangsspeicherorts finden Sie im entsprechenden Thema für jeden WCF-Adapter in WCF-Adaptern.

So veröffentlichen Sie Dienstmetadaten für einen vorhandenen WCF-Empfangsspeicherort für inhaltsbasiertes Routing

  1. Klicken Sie auf Start, zeigen Sie auf Alle Programme, zeigen Sie auf BizTalk Server, und klicken Sie dann auf BizTalk WCF-Dienstveröffentlichungs-Assistent.

    Hinweis

    Zum Erstellen und Veröffentlichen von WCF-Dienstmetadaten für BizTalk-Orchestrierungen und -Schemas wird der Assistent für BizTalk WCF-Dienstpublishing verwendet. Zum Veröffentlichen von Orchestrierungen und Schemas als Webdienste mit dem SOAP-Adapter verwenden Sie den Assistenten für BizTalk-Webdienstpublishing.

  2. Klicken Sie auf der Seite Willkommen beim BizTalk WCF-Dienstveröffentlichungs-Assistenten auf Weiter.

  3. Wählen Sie auf der Seite WCF-Diensttyp die Option Metdata only endpoint (MEX) aus, um die WCF-Dienste zu veröffentlichen, um Dienstmetadaten für den WCF-Empfangsspeicherort bereitzustellen, den Sie im nächsten Schritt auswählen werden.

    WCF-Diensttypseite

  4. Wählen Sie auf der Seite WCF-Diensttyp in der Dropdownliste Metadaten für Empfangsspeicherort veröffentlichen einen WCF-Empfangsspeicherort aus, für den Dienstmetadaten veröffentlicht werden sollen, und klicken Sie dann auf Weiter.

  5. Wählen Sie auf der Seite WCF-Dienst erstellendie Option Schemas als WCF-Dienst veröffentlichen aus, und klicken Sie dann auf Weiter.

    Create WCF Service page

  6. Definieren Sie auf der Seite WCF-Dienst die WCF-Dienstverträge, für die Dienstmetadaten veröffentlicht werden sollen. Sie verwenden die Struktur im Dialogfeld Webdienstbeschreibung , um die Webdienstbeschreibungsknoten für die ZU veröffentlichenden WCF-Dienste hinzuzufügen, zu entfernen, umzubenennen und zu bearbeiten. Das Dialogfeld Informationen enthält Informationen zum ausgewählten Knoten und zeigt alle Fehler im aktuellen Knoten oder allen Unterknoten an:

    • Der Stammknoten der Struktur ("Webdienstbeschreibung") beschreibt die zu veröffentlichenden WCF-Dienstverträge. Im Namen des virtuellen Verzeichnisses wird der Stammknoten als Standardname verwendet. Sie können den Namen der Webdienstbeschreibung für die zu veröffentlichenden WCF-Dienste ändern, indem Sie Webdienstbeschreibung umbenennen auswählen.

      WCF-Dienstseite

    • Der Webmethodenknoten Operation1 des Standarddienstknotens Service1, der standardmäßig im Dialogfeld Webdienstbeschreibung angezeigt wird, kann für einen Anforderungs-Antwort-Empfangsspeicherort verwendet werden. Wenn Sie einen unidirektionalen WCF-Empfangsspeicherort für diesen Dienstvertrag ausgewählt haben, klicken Sie mit der rechten Maustaste auf den Standardknoten Webmethoden, klicken Sie auf Webmethode löschen, und erstellen Sie dann eine unidirektionale Webmethode wie folgt: Klicken Sie mit der rechten Maustaste auf den Standarddienstknoten, zeigen Sie auf Webmethode hinzufügen, und klicken Sie dann auf One-Way.

    • Um einen neuen WCF-Dienst hinzuzufügen, klicken Sie mit der rechten Maustaste auf den Namen der Webdienstbeschreibung, und klicken Sie dann auf Webdienst hinzufügen. Damit wird ein neuer WCF-Dienst ohne WCF-Vorgänge erstellt. Um den Namen des WCF-Diensts zu ändern, klicken Sie mit der rechten Maustaste auf den KNOTEN WCF-Dienst, klicken Sie auf Webdienst umbenennen, und drücken Sie dann die EINGABETASTE, um den neuen Namen zu akzeptieren.

    • Um einen neuen WCF-Vorgang hinzuzufügen, klicken Sie mit der rechten Maustaste auf den Knoten WCF-Dienst, zeigen Sie auf Webmethode hinzufügen, und klicken Sie dann auf Unidirektionale Vorgänge (für einen WCF-Vorgang der Anforderung) oder Request-Response (für einen WCF-Vorgang für Anforderungsantwort).

    • Klicken Sie zum Festlegen der Anforderungs- und Antwortschematypen mit der rechten Maustaste auf den Knoten Anforderung oder Antwort , und klicken Sie dann auf Schematyp auswählen. Geben Sie im Dialogfeld Nachrichtentyp anfordern den Namen der Assembly mit dem Dokumentschema in das Textfeld BizTalk-Assemblydatei ein , oder klicken Sie auf Durchsuchen , um nach der Assembly zu suchen. In der Listenansicht Verfügbare Schematypen werden die einzelnen Stammelemente des Schemas angezeigt. Wählen Sie einen Stammknoten aus, um ihn als Schematyp für Anforderungen oder Antworten hinzuzufügen.

      Hinweis

      Wenn Sie die BizTalk-Assemblydatei im globalen Assemblycache (GAC) installiert haben, stellen Sie sicher, dass die Assembly im GAC mit der Assembly aktualisiert wurde, die Sie im Dialogfeld Nachrichtentyp anfordern auswählen. Falls der globale Assemblycache denselben vollqualifizierten Namen hat, verwendet der Assistent für BizTalk WCF-Dienstpublishing die Assemblydatei in diesem Cache und nicht die von Ihnen ausgewählte Assemblydatei.

      Seite

    • Sie können die Request- und Response-Knoten umbenennen, ohne den generierten Code zu beeinflussen. Nachdem Sie Ihre Schemas definiert haben, können Sie die Teilelemente umbenennen und so den Parameternamen für den WCF-Vorgang ändern. Sie können die Änderungen sehen, indem Sie die Dienstmetadaten für die zu veröffentlichenden WCF-Dienste anzeigen.

    Hinweis

    Beim Umbenennen von Webdienstbeschreibungsknoten dürfen Sie keine Leerzeichen verwenden.

  7. Klicken Sie auf Weiter , um den Assistenten fortzusetzen.

  8. Geben Sie auf der Seite WCF-Diensteigenschaften im Textfeld Zielnamespace des WCF-Diensts einen Zielnamespace für die WCF-Dienste ein, und klicken Sie dann auf Weiter.

    WCF-Diensteigenschaftenseite

  9. Geben Sie auf der Seite WCF-Dienstspeicherort im Textfeld Speicherort den Namen des Webverzeichnisses ein, in dem die WCF-Dienste generiert werden. Sie können den Standardspeicherort (http://localhost/<Web service description name>), einen Speicherort für die WCF-Dienste in das Textfeld Speicherort eingeben oder auf Durchsuchen klicken und ein Webverzeichnis auswählen. Aktivieren Sie eine der folgenden Optionen:

    • Vorhandenes Projekt überschreiben. Diese Option ist nur verfügbar, wenn das Webverzeichnis bereits vorhanden ist. Das Veröffentlichen im selben Speicherort kann nur erfolgen, wenn Sie diese Option auswählen. Andernfalls müssen Sie einen anderen Projektspeicherort eingeben.

    • Anonymen Zugriff auf WCF-Dienst zulassen. Diese Option ermöglicht den anonymen Zugriff auf das erstellte virtuelle Verzeichnis. Das virtuelle Verzeichnis übernimmt standardmäßig die Zugriffsberechtigungen von seinem übergeordneten virtuellen Verzeichnis oder der Website (falls es sich um ein virtuelles Verzeichnis auf höchster Ebene handelt).

      Wenn Sie diese Seite abgeschlossen haben, klicken Sie auf Weiter.

      WCF-Dienstspeicherortseite

      Hinweis

      Der Projektspeicherort kann sich auf einem anderen Server befinden. Um die WCF-Dienste auf einem anderen Server zu veröffentlichen, geben Sie den Projektnamen als ein http://<servername>/<WCF service location>.

      Hinweis

      Der Projektspeicherort kann sich auf einer anderen Website als der Standardwebsite befinden. Fügen Sie bei einer Veröffentlichung auf einer nicht standardmäßigen Website der URL die Portnummer der Website hinzu. Beispiel: http://<servername>:8080/<WCF service location>.

      Hinweis

      Die Datei "BindingInfo.xml", die der Assistent im Ordner "\App_Data\Temp" der Webanwendung erstellt, enthält die Standardwerte für die Pipelines. Der Standardwert für die Empfangspipeline ist die Pipeline Microsoft.BizTalk.DefaultPipelines.XMLReceive , und der Standardwert für die Sendepipeline ist die Microsoft.BizTalk.DefaultPipelines.PassThruTransmit-Pipeline .

  10. Überprüfen Sie auf der Seite WCF-Dienstzusammenfassung Ihre Einstellungen für die WCF-Dienste.

  11. Klicken Sie auf Erstellen , um die WCF-Dienste zu erstellen.

  12. Klicken Sie auf Fertig stellen , um den BizTalk WCF-Dienstveröffentlichungs-Assistenten abzuschließen.

So konfigurieren Sie die Webanwendung für die Veröffentlichung von Dienstmetadaten

  1. Aktivieren Sie ASP.NET für die vom Assistenten für BizTalk WCF-Dienstpublishing erstellte Webanwendung. Weitere Informationen finden Sie unter Aktivieren von Webdiensten.

    Hinweis

    Unter einer anderen Version des Betriebssystems Windows müssen Sie das Konto "Identität" des Anwendungspools der Gruppe "BizTalk Server-Administratoren" hinzufügen. Nachdem Sie das entsprechende Konto der Gruppe BizTalk Server Administratoren hinzugefügt haben, müssen Sie den IIS-Dienst neu starten, damit die Einstellung wirksam wird.

  2. Öffnen Sie eine Eingabeaufforderung, wechseln Sie in %SystemDrive%\InetPub\ zum Ordner, in dem der Assistent für BizTalk WCF-Dienstpublishing die WCF-Dienste erstellt hat, und öffnen Sie anschließend in Editor die Datei Web.config.

  3. Fügen Sie in Editor die folgende Zeile dem <system.web-Element> hinzu:

    <trust level="Full" originUrl="" />  
    

    Hinweis

    Diese Einstellung ist optional und gewährt der ASP.NET-Anwendung, die als Host des veröffentlichten WCF-Diensts dient, Zugriff auf alle Ressourcen, die den Sicherheitseinstellungen des Betriebssystems unterliegen. Dies ist die Vertrauensebene, die WCF erfordert, wenn Windows SharePoint Services auf demselben Computer wie die veröffentlichten WCF-Dienste installiert ist und ausgeführt wird.

  4. Geben Sie in Internet Explorer im Feld Adresse die URL für den WCF-Dienst im Format http:// host[:p ort]/apppath/wcfservicename.svc ein, um den veröffentlichten WCF-Dienst zu testen. Die Parameter werden in der folgenden Tabelle beschrieben.

    Parameter Wert
    host[:p ort] Der Name des Computers, auf dem Sie Ihren WCF-Dienst bereitgestellt haben. Auf diesen Servernamen können ein Doppelpunkt und die Portnummer folgen.
    apppath Der Name Ihres virtuellen Verzeichnisses und der Webanwendungspfad.
    WCFDienstname.svc Der Name der SVC-Datei des WCF-Diensts.
  5. Um eine unbeabsichtigte Offenlegung potenziell vertraulicher Dienstmetadaten zu verhindern, sollten Sie dieses Verhalten in der Produktionsumgebung deaktivieren, indem Sie die folgenden Aufgaben ausführen:

    1. Öffnen Sie in Editor in %SystemDrive%\InetPub\ in dem Ordner, in dem der Assistent für BizTalk WCF-Dienstpublishing den WCF-Dienst erstellt hat, die Datei Web.config.

    2. Legen Sie in Editor das httpGetEnabled-Attribut im <serviceMetadata-Element> auf false fest:

      <serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />  
      

Weitere Informationen

Verwenden des Assistenten für BizTalk WCF-Dienstpublishing zum Veröffentlichen von Schemas als WCF-Dienste
Exemplarische Vorgehensweise: Veröffentlichen von WCF-Diensten mit dem WCF-NetMsmq-Adapter