Freigeben über


Schritt 1: Veröffentlichen der SAP-Elemente als WCF-Dienst

Schritt 1 von 4

Abgeschlossene Zeit: 10 Minuten

Ziel: Sie können den WCF-Adapterdienstentwicklungs-Assistenten verwenden, um einen WCF-Dienst zu generieren, der in einer Hostingumgebung wie Internetinformationsdienste (IIS) oder Windows Process Activation Service (WAS) gehostet werden kann. In diesem Thema wird veranschaulicht, wie Sie mithilfe des Assistenten eine WCF-Dienstdatei generieren.

Voraussetzungen

Bevor Sie den Assistenten ausführen, installieren Sie Folgendes:

  • Microsoft Windows Communication Foundation (WCF) Branchenadapter-SDK (LOB) entweder mit der Option Vollständig oder der Option Benutzerdefiniert (und wählen Sie in dieser Option Extras aus). Dadurch wird die Visual Studio-Vorlage für den WCF-Adapterdienstentwicklungs-Assistent installiert.

  • Microsoft BizTalk-Adapter für mySAP Business Suite aus dem BizTalk-Adapterpaket.

  • Die erforderlichen SAP-Clientbibliotheken.

    Weitere Informationen zu diesen Voraussetzungen finden Sie im Installationshandbuch für das BizTalk Adapter Pack. Die Installationsanleitung wird normalerweise unter <Installationslaufwerk>:\Programme\Microsoft BizTalk Adapter Pack\Documents installiert.

So veröffentlichen Sie die SAP-Artefakte als WCF-Dienst

  1. Starten Sie Visual Studio, und erstellen Sie dann ein Projekt.

  2. Wählen Sie im Dialogfeld Neues Projekt im Bereich Projekttypendie Option Visual C# aus. Wählen Sie im Bereich Vorlagen die Option WCF-Adapterdienst aus.

    Erweitern Sie alternativ im Bereich Projekttypenvisual C#, und wählen Sie dann Web aus. Wählen Sie im Bereich Vorlagen die Option WCF-Adapterdienst aus.

    Hinweis

    Wenn Sie Visual Studio 2013 mit der Webentwicklungskomponente installiert haben, ist die WCF-Adapterdienstvorlage auch über die Option Neue Website verfügbar.

  3. Geben Sie einen Namen und einen Speicherort für die Projektmappe an, und klicken Sie dann auf OK. Der WCF-Adapterdienstentwicklungs-Assistent wird gestartet.

  4. Klicken Sie auf der Seite Willkommenauf Weiter.

  5. Geben Sie auf der Seite Vorgänge auswählen einen Verbindungszeichenfolge an, um eine Verbindung mit dem SAP-System herzustellen. Gehen Sie folgendermaßen vor:

    1. Klicken Sie in der Liste Bindung auswählen auf sapBinding, und klicken Sie dann auf Konfigurieren.

    2. Klicken Sie im Dialogfeld Adapter konfigurieren auf die Registerkarte Sicherheit .

    3. Wählen Sie in der Liste Clientanmeldeinformationentypdie Option Benutzername aus, und geben Sie dann einen gültigen SAP-Benutzernamen und ein kennwort an, um eine Verbindung mit dem SAP-System herzustellen.

    4. Klicken Sie auf die Registerkarte URI-Eigenschaften , und geben Sie dann Werte für die Verbindungsparameter an. Weitere Informationen zum Verbindungs-URI für den SAP-Adapter finden Sie unter Erstellen des SAP-Systemverbindungs-URI.

      Hinweis

      Wenn die Verbindungsparameter reservierte Zeichen (z. B. XML-Sonderzeichen) enthalten, müssen Sie sie unverändert auf der Registerkarte URI-Eigenschaften angeben, d. h. ohne Escapezeichen. Wenn Sie den URI jedoch direkt im Feld URI konfigurieren angeben und die Verbindungsparameter reservierte Zeichen enthalten, müssen Sie die Verbindungsparameter mithilfe der richtigen Escapezeichen angeben.

    5. Klicken Sie auf die Registerkarte Bindungseigenschaften , und geben Sie dann Werte für die Bindungseigenschaften an, falls vorhanden, die für die Vorgänge erforderlich sind, die Sie als Ziel verwenden möchten. In diesem Tutorial wird der BAPI_SALESORDER_GETLIST RFC aufgerufen, um die Liste der Verkaufsaufträge für einen bestimmten Kunden abzurufen. Die Bestellinformationen können auch Datumsspalten enthalten. Beim Abrufen von Werten für die Datumsspalte wird empfohlen, die Bindungseigenschaft EnableSafeTyping beim Generieren der Metadaten auf True festzulegen. Wenn diese Eigenschaft festgelegt ist, wird der SAP DATS-Datentyp als Zeichenfolgen angezeigt.

      Weitere Informationen zur Zuordnung der SAP-Datentypen zu entsprechenden .NET-Typen finden Sie unter Grundlegende SAP-Datentypen.

      Weitere Informationen zu Bindungseigenschaften finden Sie unter Informationen zum BizTalk-Adapter für mySAP Business Suite-Bindungseigenschaften.

    6. Klicken Sie auf OK, und klicken Sie dann auf Verbinden. Nachdem die Verbindung hergestellt wurde, wird die verbindung status als Verbunden angezeigt.

  6. Klicken Sie auf der Seite Vorgänge auswählen in der Liste Vertragstyp auswählen auf Client (Ausgehende Vorgänge).

  7. Erweitern Sie im Feld Kategorie auswählen einen SAP-Artefakttyp. Erweitern Sie beispielsweise den RFC-Knoten , um die Funktionsgruppe anzuzeigen, die den RFC enthält, für den Sie einen WCF-Dienst generieren möchten.

  8. Wählen Sie im Feld Verfügbare Kategorien und Vorgänge die Vorgänge aus, für die Sie einen WCF-Dienst generieren möchten, und klicken Sie dann auf Hinzufügen. Die ausgewählten Vorgänge werden im Feld Hinzugefügte Kategorien und Vorgänge aufgeführt.

    Hinweis

    Sie können für jedes Artefakt mehrere Vorgänge hinzufügen. Sie können auch Vorgänge für verschiedene SAP-Artefakte hinzufügen. Sie können beispielsweise einen Vorgang für RFC und einen anderen für IDOC hinzufügen. Darüber hinaus können Sie nach bestimmten Vorgängen suchen, indem Sie in Suchausdrücken Feldhalterzeichen angeben. Weitere Informationen zu den unterstützten Sonderzeichen und den Knotenebenen, auf denen Sie nach den Vorgängen suchen können, finden Sie unter Herstellen einer Verbindung mit SAP in Visual Studio mithilfe des Assistenten zum Hinzufügen von Adaptermetadaten.

    In diesem Beispiel werden die SD_RFC_CUSTOMER_GET und BAPI_SALESORDER_GETLIST RFCs hinzugefügt.

    Hinweis

    Einige Versionen des SAP-Systems machen einen RFC_CUSTOMER_GET RFC anstelle von SD_RFC_CUSTOMER_GET verfügbar.

    Auswählen von SAP-Artefakten

  9. Klicken Sie auf der Seite Vorgänge auswählen auf Weiter.

  10. Geben Sie auf der Seite Dienst- und Endpunktverhalten konfigurieren Werte an, um das Dienst- und Endpunktverhalten zu konfigurieren.

    1. Geben Sie im Feld Dienstverhaltenskonfiguration Werte für Folgendes an:

      Für die Eigenschaft Angeben des Werts
      EnableMetadataExchange Legen Sie dies auf True fest, um einen Metadatenaustauschendpunkt zu erstellen. Wenn Sie dies auf True festlegen, stellen Sie die Dienstmetadaten mithilfe standardisierter Protokolle zur Verfügung, z. B. WS-Metadata Exchange (MEX) und HTTP/GET-Anforderungen.

      Der Standardwert ist False.
      IncludeExceptionDetailsinFault Legen Sie diesen Wert auf True fest, um verwaltete Ausnahmeinformationen im Detail zu SOAP-Fehlern einzuschließen, die zu Debugzwecken an den Client zurückgegeben werden. Der Standardwert ist False.
      Name Name für die Dienstverhaltenskonfiguration.
      UseServiceCertificate Gibt an, ob Sie den Sicherheitsmodus auf Nachrichtenebene von WCF verwenden möchten. Der Standardwert ist true.

      Für dieses Tutorial müssen Sie dies auf False festlegen.
      FindValue Eine Zeichenfolge, die den Wert angibt, nach dem im X.509-Zertifikatspeicher gesucht werden soll.

      Hinweis: Geben Sie nur einen Wert für diese Eigenschaft an, wenn UseServiceCertificate auf True festgelegt ist.
      StoreLocation Ein Wert, der den Speicherort des Zertifikatspeichers angibt, den der Dienst zum Überprüfen des Zertifikats des Clients verwenden kann.

      Hinweis: Geben Sie nur einen Wert für diese Eigenschaft an, wenn UseServiceCertificate auf True festgelegt ist.
      StoreName Name des zu öffnenden X.509-Zertifikatspeichers.

      Hinweis: Geben Sie nur einen Wert für diese Eigenschaft an, wenn UseServiceCertificate auf True festgelegt ist.
      X509FindType Der Typ der X.509-Suche, der ausgeführt werden soll.

      Hinweis: Geben Sie nur einen Wert für diese Eigenschaft an, wenn UseServiceCertificate auf True festgelegt ist.

      Hinweis

      Weitere Informationen zu den Zertifikaten und den zugehörigen Eigenschaften finden Sie unter "X509ClientCertificateCredentialsElement Properties" unter https://go.microsoft.com/fwlink/?LinkId=103771.

    2. Geben Sie im Feld Endpunktverhaltenskonfiguration Werte für Folgendes an:

      Für die Eigenschaft Angeben des Werts
      Authentifizierungstyp – Legen Sie dies auf ClientCredentialUserNamePassword fest, damit die Clients beim Verwenden des WCF-Diensts den Benutzernamen und das Kennwort angeben können.

      – Legen Sie dies auf HTTPUserNamePassword fest, damit Clients Benutzernamen und Kennwort als Teil des HTTP-Headers angeben können.

      – Legen Sie dies auf Auto fest, damit Clients zunächst anmeldeinformationen über die ClientCredential-Schnittstelle angeben können. Wenn dies fehlschlägt, können Clients Anmeldeinformationen als Teil des HTTP-Headers übergeben.

      Der Standardwert ist Auto. Damit Microsoft Office SharePoint Server den WCF-Dienst nutzen kann, sollten Sie dies auf HTTPUserNamePassword festlegen.
      Name Geben Sie einen Namen für die Endpunktverhaltenskonfiguration an.
      UsernameHeader Name für den Benutzernamenheader. Geben Sie in diesem Beispiel MyUserHeader an. Weitere Informationen zu HTTP-Headern finden Sie unter "Unterstützung für benutzerdefinierte HTTP- und SOAP-Header" unter https://go.microsoft.com/fwlink/?LinkId=106692.

      Hinweis: Sie müssen einen Wert für diese Eigenschaft angeben, wenn der Authentifizierungstyp auf HTTPUserNamePassword festgelegt ist. Wenn Authentifizierungstyp auf Auto festgelegt ist, ist diese Eigenschaft optional.
      PasswordHeader Name für den Kennwortheader. Geben Sie in diesem Beispiel MyPassHeader an. Weitere Informationen zu HTTP-Headern finden Sie unter "Unterstützung für benutzerdefinierte HTTP- und SOAP-Header" unter https://go.microsoft.com/fwlink/?LinkId=106692.

      Hinweis: Sie müssen einen Wert für diese Eigenschaft angeben, wenn der Authentifizierungstyp auf HTTPUserNamePassword festgelegt ist. Wenn Authentifizierungstyp auf Auto festgelegt ist, ist diese Eigenschaft optional.

      Die folgende Abbildung zeigt die Seite Dienst- und Endpunktverhalten konfigurieren mit den angegebenen Werten.

      Seite

  11. Klicken Sie auf der Seite Dienst- und Endpunktverhalten konfigurieren auf Weiter.

  12. Auf der Seite Bindung und Adresse des Dienstendpunkts konfigurieren listet das Feld Vertrag auswählen die SAP-Artefakte auf, für die Sie die Vorgänge auf der Seite Vorgänge auswählen ausgewählt haben.

    Wenn Sie z. B. Artefakte unter RFC und IDOC ausgewählt haben, listet die Option Vertrag zum Konfigurieren auswählen sowohl RFC als auch IDOC auf. Wenn Sie nur einen RFC ausgewählt haben, listet das Feld nur RFC auf.

  13. Im Feld Vorgänge unter dem ausgewählten Vertrag werden die Vorgänge angezeigt, die Sie für jedes Artefakt auf der Seite Vorgänge auswählen ausgewählt haben.

  14. Geben Sie im Feld Adresse und Bindung für den Vertrag konfigurieren Werte für Folgendes an:

    Für die Eigenschaft Angeben des Werts
    Bindungskonfiguration Der Assistent unterstützt nur die grundlegende HTTP-Bindung. Daher wird das Bindungskonfigurationsfeld automatisch in System.ServiceModel.Configuration.BasicHttpBindingElement aufgefüllt.

    Klicken Sie auf die Schaltfläche mit den Auslassungspunkten (...) , um die Eigenschaften für die HTTP-Bindung zu ändern. Um einen sicheren Kommunikationskanal zu verwenden, müssen Sie die Mode-Eigenschaft immer auf Transport festlegen. Der Assistent legt den Standardwert für die Mode-Eigenschaft auf Transport fest.

    Weitere Informationen zu den anderen verfügbaren Bindungen finden Sie unter "BasicHttpBindingElement Members" unter https://go.microsoft.com/fwlink/?LinkId=103773.
    Endpoint Name (Endpunktname) Geben Sie einen Endpunktnamen für den Vertrag an.

    Die anderen Felder auf dieser Seite werden basierend auf den Werten, die Sie auf den vorherigen Seiten angegeben haben, automatisch aufgefüllt.

    Klicken Sie auf Anwenden. Führen Sie diesen Schritt für alle Verträge aus, die unter dem Feld Zu konfigurierenden Vertrag auswählen angezeigt werden.

    Hinweis

    Wenn Sie auf dieser Seite keine Werte angeben, werden die Standardwerte für alle Verträge akzeptiert.

    Die folgende Abbildung zeigt die Seite Konfigurieren der Dienstendpunktbindung und -adresse mit den angegebenen Werten.

    Konfigurieren der Dienstendpunktbindung und adresse

  15. Klicken Sie auf der Seite Konfigurieren der Dienstendpunktbindung und -adresse auf Weiter. Auf der Seite Zusammenfassung werden eine Struktur der SAP-Artefakte und die für jedes Artefakt ausgewählten Vorgänge aufgelistet.

  16. Überprüfen Sie die Zusammenfassung, und klicken Sie dann auf Fertig stellen.

  17. Der Assistent erstellt einen WCF-Dienst und fügt dem Visual Studio-Projekt die folgenden Dateien hinzu:

    1. SVC-Datei. Dies ist die WCF-Dienstdatei. Der Assistent generiert eine Datei für jeden Vertrag.

    2. Web.config Datei.

    3. Dienstcode (CS-Datei)

  18. Veröffentlichen Sie den WCF-Dienst.

    1. Stellen Sie sicher, dass SSL für Internetinformationsdienste (IIS) aktiviert ist. Anweisungen zum Aktivieren von SSL für IIS finden Sie unter https://go.microsoft.com/fwlink/?LinkId=197170.

    2. Klicken Sie mit der rechten Maustaste auf das Projekt in Projektmappen-Explorer, und klicken Sie dann auf Veröffentlichen.

    3. Geben Sie im Dialogfeld Web veröffentlichen eine URL für den WCF-Dienst an. Beispiel:

      https://<computer_name>/Customer_Order/
      
    4. Klicken Sie im Feld Kopieren auf Alle Projektdateien.

    5. Klicken Sie auf Veröffentlichen.

  19. Vergewissern Sie sich, dass der WCF-Dienst erfolgreich veröffentlicht wurde.

    1. Starten Sie die IIS-Microsoft-Verwaltungskonsole. Klicken Sie auf Start, zeigen Sie auf Verwaltung, und klicken Sie anschließend auf Internetinformationsdienste-Manager.

    2. Navigieren Sie zu dem Knoten, auf dem Sie den Dienst veröffentlicht haben. Navigieren Sie für den Customer_Order-Dienst zu Internetinformationsdienste><Computername>>Websites>Standardwebsite>Customer_Order.

    3. Klicken Sie im rechten Bereich mit der rechten Maustaste auf die Datei Rfc.svc, und klicken Sie dann auf Durchsuchen.

    4. Die Webseite wird mit der URL zum Abrufen der WSDL angezeigt. Möglicherweise möchten Sie den Metadatenabruf mithilfe des Befehls svcutil testen. Der Befehl zum Abrufen von Metadaten für den Customer_Order Dienst lautet beispielsweise:

      svcutil.exe https://<computer_name>/Customer_Order/Rfc.svc?wsdl
      
      

Nächster Schritt

Verwenden Sie den Business Data Catalog Definition Editor, um eine Anwendungsdefinitionsdatei für die SAP-Artefakte zu erstellen. Anweisungen finden Sie unter Schritt 2: Erstellen einer Anwendungsdefinitionsdatei für die SAP-Artefakte . Die Anwendungsdefinitionsdatei gibt an, wo die Branchendaten gespeichert werden und in welchem Format sie gespeichert werden.

Weitere Informationen

Tutorial 1: Darstellen von Daten aus einem SAP-System auf einer SharePoint-Website