Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können das ServiceModel Metadata Utility Tool (svcutil.exe) verwenden, um eine WCF-Clientklasse oder einen WCF-Dienstvertrag (Schnittstelle) für Vorgänge zu generieren, die der Microsoft BizTalk-Adapter für mySAP Business Suite verfügbar macht. Nachdem Sie svcutil.exe ausgeführt haben, um entweder eine WCF-Clientklasse oder einen WCF-Dienstvertrag zu generieren, können Sie die generierte Datei in Ihren Code einschließen und Instanzen der generierten Klasse erstellen oder einen WCF-Dienst über die generierte Schnittstelle implementieren, um Vorgänge im SAP-System auszuführen.
Wenn Sie svcutil.exe verwenden, müssen Sie einen Verbindungs-URI bereitstellen, der Anmeldeinformationen enthält. Da der SAP-Adapter standardmäßig Anmeldeinformationen im Verbindungs-URI deaktiviert, müssen Sie svcutil.exe so konfigurieren, dass eine nicht standardmäßige Bindung für den SAP-Adapter verwendet wird. Sie können auch andere Bindungseigenschaften in der nicht standardmäßigen Bindung konfigurieren. Um beispielsweise einen WCF-Client für BAPI-Vorgänge zu erstellen, müssen Sie die Eigenschaft "EnableSafeTyping "-Bindung auf "true" festlegen.
In den folgenden Abschnitten wird gezeigt, wie Sie svcutil.exe konfigurieren und svcutil.exe verwenden, um WCF-Clientcode oder einen WCF-Dienstvertrag mit dem SAP-Adapter zu generieren.
Konfigurieren von svcutil.exe für den SAP-Adapter
Um svcutil.exe für die Verwendung einer nicht standardmäßigen Bindung zu konfigurieren, müssen Sie eine lokale Kopie von svcutil.exe erstellen und dann eine lokale Kopie der svcutil.exe.config Konfigurationsdatei erstellen oder ändern.
Erstellen Sie einen Ordner, und kopieren Sie svcutil.exe in den neuen Ordner. Normalerweise finden Sie svcutil.exe am Windows SDK-Installationsspeicherort, insbesondere "C:\Programme\Microsoft SDKs\Windows\v6.0\Bin".
Erstellen Sie eine Datei mit dem Namen svcutil.exe.config im neuen Ordner.
Fügen Sie der svcutil.exe.config-Datei eine Bindung und einen Clientendpunkt hinzu. Sie müssen svcutil.exe aus dem neuen Ordner ausführen, um sicherzustellen, dass die richtige Konfiguration verwendet wird.
Von Bedeutung
Das Name-Attribut des Clientendpunkts muss das schema angeben, das im Verbindungs-URI verwendet wird. Bei diesem Wert wird die Groß-/Kleinschreibung beachtet.
<configuration> <system.serviceModel> <client> <!-- the name should match the required scheme of the WS-Metadata Exchange endpoint and the contract should be "IMetadataExchange" --> <endpoint name="sap" binding="sapBinding" bindingConfiguration="SAPBinding" contract="IMetadataExchange" /> </client> <bindings> <sapBinding> <binding name="SAPBinding" acceptCredentialsInUri="true"/> </sapBinding> </bindings> </system.serviceModel> </configuration>
Sie können alle Bindungseigenschaften des SAP-Adapters in der Bindungskonfiguration festlegen. Sie können z. B. die folgende nicht standardmäßige Bindung angeben, um svcutil.exe zum Generieren eines WCF-Clients für BAPI-Vorgänge zu verwenden.
<bindings>
<sapBinding>
<binding name="SAPBinding" acceptCredentialsInUri="true"/>
</sapBinding>
</bindings>
Weitere Informationen zum Konfigurieren einer nicht standardmäßigen Bindung für svcutil.exefinden Sie im Endpunkt für benutzerdefinierte sichere Metadaten.
Erstellen einer WCF-Clientklasse oder eines WCF-Dienstvertrags mit svcutil.exe
Um svcutil.exe zum Generieren von WCF-Clientcode oder einem WCF-Dienstvertrag (Schnittstelle) für den SAP-Adapter zu verwenden, müssen Sie einen Verbindungs-URI bereitstellen, der einen WS-Metadata Exchange-Endpunkt (MEX) und den Vorgang oder die Vorgänge angibt, für die svcutil.exe Code generieren soll. Sie müssen auch Anmeldeinformationen für das SAP-System im Verbindungs-URI angeben.
Hinweis
Bevor Sie svcutil.exe mit dem SAP-Adapter verwenden können, müssen Sie sie so konfigurieren, dass eine nicht standardmäßige Bindung verwendet wird. Informationen dazu finden Sie unter Konfigurieren von svcutil.exe für den SAP-Adapter.
Sie geben einen MEX-Endpunkt und Zielvorgänge im SAP-Adapterverbindungs-URI wie folgt an:
Sie müssen den Parameter "wsdl" in die Abfragezeichenfolge einschließen. Wenn es sich um den ersten Parameter in der Abfragezeichenfolge handelt, wird er direkt hinter dem Fragezeichen (?) angegeben. Wenn es sich nicht um den ersten Parameter handelt, sollte ihm ein kaufmännisches Und-Zeichen (&) vorangestellt werden.
Dem Parameter "wsdl" muss ein oder mehrere "op"-Parameter folgen. Jedem "op"-Parameter wird ein kaufmännisches Und-Zeichen (&) vorangestellt, und es wird die Knoten-ID eines Zielvorgangs angegeben.
In den folgenden drei Beispielen wird gezeigt, wie mithilfe von svcutil.exeverschiedene Vorgänge gezielt durchgeführt werden können.
In diesem Beispiel wird eine WCF-Clientklasse für RFC_CALCULATE_TAXES erstellt.
.\svcutil "sap://User=YourUserName; Passwd=YourPassword; Client=800; Lang=EN;@a/YourSAPHost/00?wsdl&op=http://Microsoft.LobServices.Sap/2007/03/Rfc/RFC_CALCULATE_TAXES"
In diesem Beispiel wird eine WCF-Clientklasse für die SALESORDER_CREATEFROMDAT201 und SALESORDER_CREATEFROMDAT202 IDOC erstellt.
.\svcutil "sap://User=YourUserName; Passwd=YourPassword; Client=800; Lang=EN;@a/YourSAPHost/00?wsdl&op=http://Microsoft.LobServices.Sap/2007/03/Idoc/3/SALESORDER_CREATEFROMDAT201//620/Send&op=http://Microsoft.LobServices.Sap/2007/03/Idoc/3/SALESORDER_CREATEFROMDAT202//620/Send"
In diesem Beispiel wird ein WCF-Dienstvertrag erstellt, um den SALESORDER_CREATEFROMDAT201 IDOC aus dem SAP-System zu erhalten. Die NODE-ID gibt einen Empfangsvorgang an. Da in diesem Beispiel das Abrufen von Metadaten behandelt wird, müssen die Listenerparameter im query_string des Verbindungs-URI nicht angegeben werden.
.\svcutil "sap://User=YourUserName; Passwd=YourPassword; Client=800; Lang=EN;@a/YourSAPHost/00?wsdl&op=http://Microsoft.LobServices.Sap/2007/03/Idoc/3/SALESORDER_CREATEFROMDAT201//620/Receive"
Von Bedeutung
Sie müssen den Verbindungs-URI in Anführungszeichen in der Befehlszeile platzieren. Andernfalls versucht svcutil.exe, Metadaten für Vorgänge abzurufen, die der SAP-Adapter nicht unterstützt. Die Ergebnisse eines solchen Versuchs sind nicht definiert.
Standardmäßig platziert svcutil.exe den generierten Code in der output.cs Datei; Sie können jedoch den Namen der Ausgabedatei und viele andere Optionen ändern, die svcutil.exe verwenden, indem Sie Befehlszeilenoptionen festlegen. Weitere Informationen zu den optionen, die svcutil.exe unterstützt, finden Sie im ServiceModel Metadata Utility Tool (Svcutil.exe).
Svcutil.exe bietet nicht die Möglichkeit, nach Vorgängen zu suchen (z. B. mithilfe von Wildcardzeichen). Sie müssen explizit Knoten-IDs für die spezifischen Vorgänge angeben, auf die Sie abzielen möchten. Die Knoten-ID eines Vorgangs entspricht der Nachrichtenaktionszeichenfolge. Sie können keine Knoten-IDs angeben, die nur auf Kategorien verweisen. Weitere Informationen zu den Knoten-IDs, die vom SAP-Adapter angezeigt werden, finden Sie unter Metadatenknoten-IDs.
Das Add Adapter Service Reference Visual Studio Plug-In bietet erweiterte Such- und Suchfunktionen, die das Generieren einer WCF-Clientklasse und eines WCF-Dienstvertrags erheblich vereinfachen können. Weitere Informationen zum Add Adapter Service Reference Plug-In finden Sie unter Generieren eines WCF-Clients oder eines WCF-Dienstvertrags für SAP-Lösungsartefakte.