EINBINDUNG VON 3rd PARTY SOAP WEBSERVICES IN C4C

Autor: Said Moshref | Veröffentlicht: 17.08.2018

Es gibt mannigfaltige Szenarien, in denen man einen SOAP Webservice kontextbezogen mit Daten befüllen und verschicken möchte. Sei es, eine über den Standard hinausgehende Replikation oder auch eine Anbindung eines 3rd Party Systems, welches keinen SAP Standard Integrationflow besitzt. Für diese Zwecke bietet die SAP das Einbinden von externen Webservices über das Cloud Applikation Studio.

Grundkenntnisse über das Zusammenspiel von Communication System, Communication Arrangement und Communication Scenario werden in diesem Tutorial vorausgesetzt.

Als Beispiel habe ich die Integration des 3rd Party Newsletter Dienstes „Mailchimp“ über die HCI ausgewählt. In Mailchimp gibt es Listen, die ein Set aus Kontakten bilden. Die Liste wird über das Custom Business Objekt in C4C repräsentiert. Die Kontakte in dieser Liste werden mithilfe dieses Custom Objects über den Webservice nach MAilchimp synchronisiert. Der Webservice besteht aus mehreren Stringfeldern und zwei Actions, „Create“ und „Read“.

Zunächst lädt man die WSDL als externen Webservice. Hierzu rechte Maustaste auf das Projekt und unter „Service Integration“ das Item „External Web Service Integration“ auswählen. Im Anschluss speichern und aktivieren, siehe Abbildung 01.

Damit der Webservice auch einen Kommunikationspfad mit Berechtigung besitzt, muss zunächst ein Communication System angelegt werden. Hierzu im C4C HTML Frontend das Communication System anlegen. Das Communication System ist bestückt mit einer ID und einer Host URL.

Jetzt können wir im Cloud Applikation Studio ein Communication Scenario anlegen. Dazu mit rechter Maustaste auf das zuvor erstellte externe Webservice Item klicken, danach „Create Communication Scenario Definition“ auswählen, siehe Abbildung 02.

Hier benennen wir unser Scenario „ManageMailchimpListOut“, wählen „A2X“ aus und klicken auf „weiter“. Unter Custom Outbound Services, wurde schon der Service mit den zwei Actions ausgewählt, so dass wir auf weiter und dann auf abschließen klicken können. Im Anschluss darauf, das erstellte Communication Scenario aktivieren, siehe Abbildung 03.

Danach zum C4C Frontend wechseln und ein Communication Arrangement mit dem soeben erstellten Szenario und dem Communication System erstellen.

Nachdem wir die WSDL eingebunden und den Kommunikationspfad erstellt haben, können wir jetzt den Webservice mit Daten befüllen und verschicken. Dazu habe ich in dem Custom Object „Z_Mailchimplist“ eine Action „SynchronizeToMailchimp“ erstellt, in der ich die Webservice Operation „Create“ ausführen werde.

Das Webservice Item mit der Endung „wsid“ kann als Objekt im ABSL verwendet werden.

var oManageList: ManageMilchimpListOut.Create.Request;

Unser Ziel ist es, einen Request für die Action „Create“ vorzubereiten und abzuschicken. Nachdem wir den Request vorbereitet haben, können wir wie dargestellt den Request abschicken.

_sScenario ist ein String und repräsentiert den Namen des erstellten Scenarios „ManageMailchimpListOut“

var oResponse=ManageMilchimpListOut.Create(oManageList, „“, _Senario);

Der vollständige Code ist in Abbildung 04 sichtbar.

Gelegentlich kann es vorkommen, dass der Webservice Fehler verursacht. Um den Grund ausfindig zu machen gibt es in C4C die Möglichkeit im Workcenter „Administrator“ > „Webdienst-Nachrichtenüberwachung“ den Webservice zu tracen. Hierzu muss man lediglich auf „A2X- Trace starten“ klicken. Das Trace hält allerdings nur 30 Minuten an, siehe Abbildung 05.

Abbildung 01

Abbildung 02

Abbildung 03

Abbildung 04

Abbildung 05

Zurück zum Blog
Martin Deutsch Allgeier ES

Haben Sie Fragen?

Martin Deutsch ist Ihr Ansprechpartner für die Blog-Beiträge.

Jetzt Kontakt aufnehmen