SAP-Webservice-Anbindung: Konfiguration eines externen Webservice-Consumers
Die Integration externer Webservices in SAP ermöglicht eine nahtlose Verbindung zu Drittanwendungen – ein essenzieller Bestandteil moderner IT-Landschaften. Bei munich enterprise software setzen wir auf stabile und nachvollziehbare Konfigurationen innerhalb des SAP NetWeaver Stacks, insbesondere ab Version 7.0 SP14. In diesem Blogbeitrag erklären wir die wichtigsten Schritte und Transaktionen zur Einrichtung eines Consumer Proxies im SAP-System.
Inhaltsverzeichnis
Grundlagen der Webservice-Anbindung
Wenn ein externer Webservice konsumiert wird, erfolgt die Integration in der Regel über eine sogenannte Consumer Proxyklasse in SAP. Diese Klasse wird auf Basis einer WSDL-Datei generiert und beschreibt die Schnittstelle zum Webservice.
WSDL steht für „Web Services Description Language“. Es handelt sich um ein XML-basiertes Format, das die technischen Details eines Webservices beschreibt – wie z. B. verfügbare Funktionen, Datenformate, Aufrufparameter und die URL des Endpunkts. Die WSDL ist für SAP essenziell, da sie die Grundlage für die automatische Generierung der Proxyklasse bildet und sicherstellt, dass die Kommunikation mit dem externen Service korrekt erfolgt.
Erzeugung der Consumer Proxyklasse (SE80 oder SPROXY)
Im ersten Schritt importieren wir die WSDL-Datei über den Enterprise Services Browser, z. B. mit der Transaktion SPROXY. Diese Transaktion dient zur Anzeige und Pflege von Enterprise Services und ermöglicht die Generierung der Proxyklasse für den Webservice.
Definition der HTTP-Destination (Transaktion SM59)
In der Transaktion SM59 wird eine HTTP-Verbindung zu externen Servern (Typ G) angelegt. Hier definieren wir:
- URL des Webservices (z. B. https://api.extern.de/service)
- den verwendeten Port (z. B. Standard Port 443 für HTTPS)
- optional: Authentifizierung und Header-Parameter
Diese Destination dient später als Zieladresse für den Webservice-Aufruf.
Konfiguration in SOAMANAGER
Die eigentliche Service-Konfiguration erfolgt im SOAMANAGER (Browser-basierte Anwendung). Hier wird auf Basis der zuvor erzeugten Proxyklasse ein logischer Port erstellt. Der logische Port enthält:
- Zuordnung zur HTTP-Destination aus SM59
- Einstellungen zur Authentifizierung und Timeout
- Mapping zur Consumer Proxyklasse
Wichtig: Der SOAMANAGER ist ab NetWeaver 7.0 SP14 Voraussetzung für die Service-Konfiguration. Frühere Releases nutzen alternativ Transaktion LPCONFIG.
SAP Webservice Consumer
Wie aktualisiere ich einen Service-Consumer in SAP?
Consumer Proxy aktualisieren in SAP – Beispiel: OcrService
Schritt 1: Transaktion SPROXY
aufrufen
Starte die Transaktion SPROXY. Navigiere im Strukturbaum zu Enterprise Services → Client Proxies und wähle dort den Consumer Proxy OcrService aus.
Schritt 2: Proxy selektieren
Klicke im Baum auf OcrService. In der rechten Detailansicht werden Informationen zur Struktur und zum Status angezeigt.
Schritt 3: WSDL prüfen
Gehe im Menü auf Proxy → Prüfen → Gegen WSDL/Schema prüfen. Lade die aktualisierte WSDL-Datei oder referenziere eine neue URL, um sicherzustellen, dass der Proxy mit der aktuellen Schnittstelle übereinstimmt. Um die WSDL-Datei für einen Webservice zu erhalten, rufe den Service mit dem Zusatz ?wsdl auf, zum Beispiel https://peppol.munich-enterprise.com/MailCenterOCR/OcrService.svc?wsdl.
Schritt 4: Proxy neu generieren
Klicke mit der rechten Maustaste auf den Consumer Proxy OcrService und wähle Proxy neu generieren. Das System erstellt den Proxy neu gemäß der neuen WSDL-Struktur.
Schritt 5: Transportauftrag zuordnen
Wenn du in einem Customizing- oder Entwicklungssystem arbeitest, wird der aktualisierte Proxy automatisch einem Transportauftrag zugeordnet. Stelle sicher, dass der Auftrag korrekt gespeichert und transportiert wird.
Schritt 6: Fehler prüfen und testen
Überprüfe, ob beim Generieren Fehlermeldungen auftreten. Gegebenenfalls müssen aufrufende Programme angepasst werden, insbesondere bei strukturellen Änderungen der WSDL (z. B. neue Pflichtfelder).
Zusätzlicher Hinweis: Aktualisiere bei Änderungen an Endpunkten oder Authentifizierung auch die Konfiguration in der Transaktion SOAMANAGER
.
sap sproxy service consumer wsdl aktualisieren
Besonderheiten & Tipps
- Der Standard Port (80 für HTTP, 443 für HTTPS) muss in der Netzwerkumgebung offen sein.
- Verwenden Sie Test-Tools im SOAMANAGER, um den Service vor Produktivstart zu prüfen.
- Die Transaktion SRT_UTIL dient der technischen Analyse von Webservice-Nachrichten und bietet Diagnosetools zur Fehlerermittlung.
- Mit SRT_MONI können Webservice-Aufrufe überwacht und deren Status, Payload und Fehler analysiert werden.
Fazit
Die Konfiguration eines externen Webservice-Consumers im SAP NetWeaver Stack ist bei richtiger Vorgehensweise klar strukturiert. Mit den Transaktionen SM59, SOAMANAGER, SPROXY und ggf. LPCONFIG sowie dem gezielten Einsatz von Proxyklassen, logischen Ports und HTTP-Destinationen gelingt eine stabile und wartbare Integration.