Verwenden des Assistenten für BizTalk-WCF-Dienstpublishing zum Veröffentlichen von Dienstmetadaten für einen WCF-Empfangsspeicherort, der an einen Orchestrierungsport gebunden ist
Mit dem Assistenten für BizTalk-WCF-Dienstpublishing können Sie einen WCF-Dienst erstellen, um Dienstmetadaten für vorhandene WCF-Empfangsspeicherorte zu veröffentlichen, die an Orchestrierungsports gebunden sind.
Hinweis
Vor Ausführung des Assistenten für BizTalk WCF-Dienstpublishing müssen Sie Ihre BizTalk-Projekte erstellen. Die BizTalk-Projekte müssen Orchestrierungen mit mindestens einem Empfangsport enthalten, dessen Typmodifizierer öffentlich ist. Bevor Sie Dienstmetadaten für die WCF-Adapter veröffentlichen, müssen Sie auch die WCF-Empfangsspeicherorte mithilfe der BizTalk-Verwaltungskonsole oder des in BizTalk Server enthaltenen Befehlszeilentools BTSTask erstellen. 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, der an einen Orchestrierungsport gebunden ist
Klicken Sie auf Start, zeigen Sie auf Alle Programme, zeigen Sie auf Microsoft BizTalk Server 20xx, und klicken Sie dann auf BizTalk WCF-Dienstveröffentlichungs-Assistent.
Hinweis
Zum Erstellen 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.
Klicken Sie auf der Seite Willkommen beim BizTalk WCF-Dienstveröffentlichungs-Assistent auf Weiter.
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.
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.
Wählen Sie auf der Seite WCF-Dienst erstellen die Option BizTalk-Orchestrierungen als WCF-Dienst veröffentlichen aus, und klicken Sie dann auf Weiter.
Geben Sie auf der Seite BizTalk-Assembly im Textfeld BizTalk-Assemblydatei (*.dll) den Namen der BizTalk-Assemblydatei ein, oder klicken Sie auf Durchsuchen , um zu der Assembly zu navigieren, die die Orchestrierung(n) enthält, für die Dienstmetadaten veröffentlicht werden sollen, und klicken Sie dann auf Weiter.
Hinweis
Kopieren Sie vor dem Auswählen einer BizTalk-Assemblydatei alle abhängigen Assemblys in den gleichen Ordner mit der BizTalk-Assembly, oder installieren Sie die abhängigen Assemblys im globalen Assemblycache (GAC).
Hinweis
Wenn Sie die BizTalk-Assemblydatei im GAC installiert haben, stellen Sie sicher, dass die Assembly im GAC mit der Assembly aktualisiert wurde, die Sie im Dialogfeld BizTalk-Assembly auswählen. Falls die Assembly im globalen Assemblycache denselben vollqualifizierten Namen hat, verwendet der Assistent für BizTalk-WCF-Dienstpublishing die Assemblydatei im globalen Assemblycache und nicht die von Ihnen ausgewählte Assemblydatei.
Hinweis
Pfade mit über 260 Zeichen können die Fehlermeldung auslösen, dass der Pfad zu lang sei.
Erweitern Sie auf der Seite Orchestrierungen und Ports die Strukturknoten für jede Assembly und Orchestrierung, indem Sie auf das Pluszeichen (+) klicken. Wählen Sie Orchestrierungen und Ports aus, für die Metadaten veröffentlicht werden sollen, indem Sie die entsprechenden Kontrollkästchen im Strukturknoten aktivieren. Wenn Sie einen WCF-Dienst (SVC-Datei) für alle ausgewählten Empfangsports anstelle eines WCF-Diensts für jeden Empfangsport erstellen möchten, wählen Sie die Option Alle ausgewählten Ports in einem einzelnen WCF-Dienst zusammenführen aus, und klicken Sie dann auf Weiter.
Hinweis
Wenn Sie alle ausgewählten Ports in einem einzelnen WCF-Dienst zusammenfassen, haben alle ausgewählten Ports denselben Typ, und die Vorgangsnamen in den Ports sind eindeutig.
"
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.
Geben Sie auf der Seite Speicherort des WCF-Diensts im Textfeld Speicherort den Namen des Webverzeichnisses ein, in dem die WCF-Dienste generiert werden. Sie können den Standardspeicherort (
http://localhost/<BizTalk Assembly Name>
) akzeptieren, 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.
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
http://<servername>/<WCF service location>
ein.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 BindingInfo.xml Datei, die der Assistent im Ordner App_DataTemp der Webanwendung erstellt, verwendet die Standardwerte für die Pipelines. Der Standardwert für die Empfangspipeline ist die Microsoft.BizTalk.DefaultPipelines.XMLReceive-Pipeline , und der Standardwert für die Sendepipeline ist die Pipeline Microsoft.BizTalk.DefaultPipelines.PassThruTransmit .
Überprüfen Sie auf der Seite WCF-Dienstzusammenfassung Ihre Einstellungen für die WCF-Dienste.
Klicken Sie auf Erstellen , um die WCF-Dienste zu erstellen.
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
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 Windows Server 2008 und Windows Vista müssen Sie der Gruppe der BizTalk Server-Administratoren das Konto "Identität" für den Anwendungspool hinzufügen. Nachdem Sie das entsprechende Konto der Gruppe "BizTalk Server-Administratoren" hinzugefügt haben, müssen Sie Internetinformationsdienste neu starten, damit diese Einstellung wirksam wird.
Ö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.
Fügen Sie im Editor die folgende Zeile im <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.
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. Um die unbeabsichtigte Offenlegung potenziell sensibler Dienstmetadaten zu verhindern, empfiehlt es sich, dieses Verhalten in der Produktionsumgebung zu deaktivieren, indem Sie die folgenden Aufgaben ausführen:
Ö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.
Legen Sie in Editor das attribut httpGetEnabled im <serviceMetadata-Element> wie in der folgenden Zeile auf false fest:
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
Weitere Informationen
Verwenden des Assistenten für BizTalk WCF-Dienstpublishing zum Veröffentlichen von Dienstmetadaten für einen WCF-Empfangsspeicherort für inhaltsbasiertes Routing
Exemplarische Vorgehensweise: Veröffentlichen von WCF-Diensten mit dem WCF-NetMsmq-Adapter