You are on page 1of 76

Integrata WebServices im SAP 1

Web Services sind die Bausteine moderner, service-orientierter Software-Architekturen.


urch den !insat" von Web Services k#nnen I$-Infrastrukturen Schritt f%r Schritt in service-
orientierte Architekturen umgewande&t werden.
!in Web Service ist eine modu&arisierte, ausf%hrbare !inheit, die in heterogenen
S'stem&andschaften %ber S'stemgren"en hinweg aufgerufen werden kann. Basierend auf
%bergebenen !ingabe(arametern, wird eine Ausgabe ermitte&t, die an den Aufrufer
"ur%ckgeschickt wird. Web Services dienen beis(ie&sweise da"u, eine )reditkarten(r%fung
vor"unehmen, eine W*hrung um"urechnen, eine Preisanfrage an einen Anbieter "u richten
oder eine +achbeste&&ung auf"ugeben. Auch k#nnen industrie&&e ,erste&&er ihren )unden,
Partnern und -ieferanten Web Services "ur Im(&ementierung in deren Programmen "ur
.erf%gung ste&&en, um %bergreifende Su((&'-/hain--#sungen ein"urichten.
SAP +etWeaver im(&ementiert die grund&egenden Standards f%r Web Services0 e1tensib&e
2arku( -anguage 312-4, Sim(&e 5b6ect Access Protoco& 3S5AP4, Web Service efinition
-anguage 3WS-4 und 7niversa& escri(tion, iscover', and Integration 37I4.
Web Services und Web-Service-Standards entwicke&n sich rasch, immer neue Standards
werden von Standardisierungsgremien aufgeste&&t. !rweiterte Standards wie
Sicherheitsstandards oder "us*t"&iche Protoko&&e werden kontinuier&ich durch SAP in das Web
Service 8ramework integriert.
7nternehmen k#nnen ihre -#sungen durch die .erwendung von ABAP und 9ava Web
Services erweitern.
as Web Service 8ramework umfasst0
: die !ntwick&ungsumgebung der ABAP !ngine
: die !ntwick&ungsumgebung der 9;!! !ngine
: Werk"euge "ur 7nterst%t"ung der 7I-<egistrierung und
: eine intero(erab&e S5AP-<untime 3ABAP und 9;!! !ngine4
ie .erarbeitung von S5AP-<e=uests erfo&gt %ber das Internet /ommunication
8ramework.
8o&gende SAP ,inweise "u <8/- und I/8-Sicherheitsthemen so&&ten Sie beachten0
: >?>1@ 3<8/ Software eve&o(ment )it4
: A1BC1A 3!inschr*nkung des Dugriffs auf das <8/-Server Programm <8/!1!/ b"w.
<8/!1!/.!1!4.
: 1;B>>@ 3$rusted S'stems +et"werk f%r <8/-)ommunikation4
: C?;E1B 3<8/ $race-Fenerierung4
: AAB;C; 3Berechtigungen f%r <emote ebugging im I/84
: 11GA1; 3)onfiguration des SAP-Fatewa'4
: A>G1A 3Fatewa' 2onitoring4
Frunds*t"&ich k#nnen Sie f%r I/8-Benut"er a&&e Benut"ert'(en 3S'stem-, ia&og-, !in"e&-
und Samme&benut"er4 verwenden.
Integrata WebServices im SAP ;
1. Legen Sie eine Funktionsgruppe und einen Funktionsbaustein an
$ransaktion 0 S!BG im /ommandofe&d eingeben
Paket an&egen 0 DHW!BS!<.I/!S
2enue(fad Workbench 5b6ekt bearbeiten
an&egen I J
Integrata WebServices im SAP ?
Paket DHW!BS!<.I/!S
)ur"beschreibung <e(ositor' 5b6ekte f%r Webservices
Anwendungskom(onente bc
Softwarekom(onente ,52!
$rans(ortschicht DI?
I J enter
an&egen I J
I J sichern
I J enter
Integrata WebServices im SAP >
I J ,ierarchie
8unktionsgru((e "HfgHuebung1HGG
)ur"teKt 8unktionsgru((e WebService GG
.erantwort&icher PW
I J
Integrata WebServices im SAP C
I J sichern
I J enter
8unktionsbaustein DH8BH7!B7+F1HGG
8unktionsgru((e DH8FH7!B7+F1HGG
)ur"teKt Webservice Baustein
I J
Integrata WebServices im SAP A
Im(ort Parameter 3/ut L Paste4
P1H$!1$ $MP! S$<I+F
P;H$!1$; $MP! S$<I+F
P?H+72/ $MP! +72/1G +umerisches /haracterfe&d der -*nge 1G
P>H+72/ $MP! +72/GC 1G +umerisches 8e&d der -*nge C
er Baustein braucht mindestens einen !K(ort(arameter und kann be&iebig vie&e
Im(ort(arameter haben. Auch $abe&&en oder 8e&der k#nnen a&s Parameter angegeben werden.
!K(ort Parameter 3/ut L Paste4
PCH$!1$ $MP! S$<I+F
PAH!<F!B+IS $MP! +72/1G +umerisches /haracterfe&d der -*nge 1G
Ausnahmen
P?H+7--W!<$ (?Hnu&&wert
Nue&&teKt
if p3_numc eq 0.
raise p3_nullwert.
endif.
p5_text = p1_text && p2_text2.
p6_ergebnis = p3_numc + p_numc.
Integrata WebServices im SAP @
I J aktivieren
I J testen
I J ausf%hren
Integrata WebServices im SAP B
!rgebnis
<emotef*hig&eit einste&&en
Parameter auf Wert%bergabe ste&&en
I J aktivieren
I J testen
Integrata WebServices im SAP E
2. Legen Sie einen Webservice-Definition an
Web Services k#nnen auf "wei Arten bereitgeste&&t werden0
Inside-5ut
<8/-f*hige 8unktionsbausteine, 8unktionsgru((en 3die einen <8/-f*higen 8unktionsbaustein
entha&ten4 und BAPIs k#nnen ohne "us*t"&ichen Programmieraufwand a&s Web Service
bereitgeste&&t werden. er Service eKistiert im S'stem und kann nach auOen (ub&i"iert werden
3Inside-5ut4
5utside-In
8%r den Aufruf eines Service werden mit ,i&fe eines WS--okumentes
!ntwick&ungsob6ekte eines Service, der auOerha&b des S'stems beschrieben wurde, in das
6ewei&ige !ntwick&ungss'stem generiert 35utside-In4.
In der SI/8 muss der Webservice im Pfad sa(PbcPsrtPrfcPsa(P Jservice +ame des
WebservicesI aktiviert sein. AuOerdem muss, um %berhau(t Webservices nut"en "u k#nnen
der Service sa(PbcPsrtPwsd& ebenfa&&s aktiviert sein.
er Webservice kann von eKtern %ber einen S'stemuser von SAP anges(rochen werden.
ieser braucht mindestens die fo&genden Berechtigungsob6ekte0
SAPHB/HW!BS!<.I/!HS!<.I/!H7S!<
SAPHB/HW!BS!<.I/!H/5+S72!<
Wi""ard Aktion Service Provider
Integrata WebServices im SAP 1G
I J
I J
Integrata WebServices im SAP 11
I J
I J
Integrata WebServices im SAP 1;
I J
I J
Integrata WebServices im SAP 1?
I J
I J
I J aktivieren
Integrata WebServices im SAP 1>
I J enter
I J enter
portType (Schnittsteentypen!
!ine 2enge von abstrakten 5(erationen 3vier $'(en von ausgetauschten +achrichten40
5ne-wa'0 er Service bekommt eine In(ut-2essage vom /&ient.
<e=uest-res(onse0 er Service bekommt einen <e=uest 3In(ut-2essage4 vom /&ient und
sendet eine Antwort 35ut(ut-2essage4.
So&icit-res(onse0 er Service sendet eine 2essage und erwartet eine Antwort vom /&ient.
+otification0 er Service sendet eine 5ut(ut-2essage. In WS- ;.G wurde die Be"eichnung
"u Interface ge*ndert.
". Testen Sie ihre Webservice-Definition
I J testen
Integrata WebServices im SAP 1C
<e=uest-.or&age generieren
I J enter
I J ausf%hren
<es(onse P <e=uest betrachten
Integrata WebServices im SAP 1A
Parameter P1 eKtern umbenennen
I J aktivieren
I J testen
I J 12--!di"or
Parameter an(assen
I J sichern
Integrata WebServices im SAP 1@
I J enter
I J ausf%hren
ie Interface-Pattern Dustands&os 31I ?.G-kom(atibe&4, Dustands&os, Dustandsbehaftet und
$7L/P/ weisen 6edem Service-Interface die Art der aus"uf%hrenden )ommunikation "u.
Dustands&ose )ommunikation bedeutet, dass von der 2essaging--auf"eit kein S(eichern
eines Dustandes beim Provider unterst%t"t wird, soba&d die 2essaging--auf"eit den 2essage-
Austausch erfo&greich abgesch&ossen hat.
9e nach Interface-Pattern bietet der Service-Interface-!ditor unterschied&iche 5(eration-
Pattern und 2odi an. !in "ustandsbehafteter Service beh*&t seinen Status im <ahmen einer
,$$P-Session bei mehreren Aufrufen vom g&eichen Service-/onsumer.
Integrata WebServices im SAP 1B
Sicherheits(rofi&
Im Sicherheits(rofi& w*h&en Sie die Art der Authentifi"ierung beim Aufruf des Web-Service
durch einen Service-/onsumer. Sie bestimmen, in we&cher 8orm die $rans(ortsicherheit, d.h.
die Sicherung des atentransfers, "wischen /onsumer und Provider stattfinden so&&.
5(erations(rofi&
as 5(erations(rofi& hat den Standardwert S'nchron . Wenn Sie im Schnittste&&en(rofi& den
Status Dustandsbehaftet w*h&en, k#nnen Sie f%r a&&e 5(erationen auOer S'nchron auch
S'nchron /ommit und S'nchron <o&&back w*h&en.
B&ockierung
er Aufruf eines ProK's 3genauer0 das Qbergeben einer 2essage an die 2essage-
Infrastruktur4 f%hrt "um B&ockieren des Aufrufers, bis die Business-Antwort em(fangen und
dem Aufrufer "ur%ckgegeben wurde.
/ommit ,and&ing
/ommitP<o&&back-Steuerung durch 8ramework
as 8ramework ist f%r den Absch&uss von $ransaktionen 3/ommit oder <o&&back4
verantwort&ich. .on der Anwendung wird nur signa&isiert, ob ein /522I$ oder <5--BA/)
aus"uf%hren ist.
$ransaction ,and&ing
Beschreibung des transaktiona&en .erha&tens der der 2essage Infrastruktur. $ransaktiona&e
.erarbeitung bedeutet, dass die 2essages, die der 2essaging-Infrastruktur %bergeben werden,
bis "um Absch&uss der $ransaktion 3-7W4 gesamme&t werden. Abh*ngig von der Art der
$ransaktionsbeendigung 3/ommitP<o&&back4, werden die 2essages verworfen oder f%r
ansch&ieOende .erarbeitung ges(eichert. er transaktiona&e Dusammenhang wird nicht auf die
Server-Seite %bertragen.
Integrata WebServices im SAP 1E
<e&iab&e 2essage !Kchange
2it Web Services <e&iab&e 2essaging kann0
der Sender einer 2essage festste&&en, ob sie vom gew%nschten !m(f*nger em(fangen
wurde und ents(rechende 2aOnahmen ein&eiten, wenn dies nicht der 8a&& sein so&&te
der !m(f*nger der 2essage sicher sein, dass er sie erh*&t, trot" h*ufig nicht
voraus"usehender Prob&eme mit +et"werken oder der Software
<$ Intrinsic 8eatures
Art des 2essage-Austauschs
5ne Wa'
!s werden aten vom Sender "um !m(f*nger transferiert, ohne dass eine Antwort von
der Anwendung erwartet wird.
<e=uest <es(onse
er 2essage-Austausch besteht aus einer Anfrage und einer Antwort auf
Anwendungsebene.
#. $naysieren Sie die Webservice-Definition

Services werden durch sechs 12-- ,au(te&emente definiert0
types (Datentypen)
Definition der Datentypen, die zum Austausch der messages benutzt werden.
message (Nachricht)
Abstrakte Definitionen der bertragenen Daten, bestehend aus mehreren logischen
Teilen, von denen jeder mit einer Definition innerhalb eines Datentypsystems
verknpft ist.
portType (Schnittstellentypen)
ine !enge von abstrakten "perationen #vier Typen von ausgetauschten
$achrichten%&
One-way: er Service bekommt eine In(ut-2essage vom /&ient.
Request-response0 er Service bekommt einen <e=uest 3In(ut-2essage4 vom /&ient und
sendet eine Antwort 35ut(ut-2esKsage4.
Solicit-response0 er Service sendet eine 2essage und erwartet eine Antwort vom /&ient.
Notification0 er Service sendet eine 5ut(ut-2essage.In WS- ;.G wurde die Be"eichnung
"u Interface ge*ndert.
binding (Bindung)
'estimmt das konkrete (rotokoll und Datenformat fr die Arbeitsschritte und
$achrichten, die durch einen bestimmten (ort)Typ gegeben sind.
port (Port)
*pezifiziert eine Adresse fr eine 'indung, also eine +ommunikationsschnittstelle,
blicherweise ein ,-.. .n /*D0 1.2 wurde die 'ezeichnung zu ndpoint ge3ndert.
service (Service)
Integrata WebServices im SAP ;G
4asst die !enge von (orts eines (ort)Typs zusammen.5
6666666666666666666666666666666666666666666666666666666666666666666666666666666
<wsdl:portType name="z_sd_uebung_1_00">
<wsdl:documentation>
- <sapdoc:sapdoc xmlns:sapdoc="urn:sap:esi:documentation">
<sapdoc:docitem
docURL="http://paris.sap.integrata.net:8000/sap/bc/esdt/docu/s
d_text?sap-client=800&sd_name=Z_!_"#$"%&_1_00" />
<sapdoc:docitem applicationComponent="$'" />
</sapdoc:sapdoc>
</wsdl:documentation>
- <wsp:Policy>
<wsp:PolicyReference UR="()*_)*_z_sd_uebung_1_00" />
</wsp:Policy>
- <wsdl:operation name="Z*b"ebung100">
- <wsp:Policy>
<wsp:PolicyReference UR="(+,_)*_+,_Z*b"ebung100" />
</wsp:Policy>
<wsdl:input messa!e="tns:Z*b"ebung100" />
<wsdl:output messa!e="tns:Z*b"ebung100-esponse" />
</wsdl:operation>
</wsdl:portType>
6666666666666666666666666666666666666666666666666666666666666666666666666666667
urch das !&ement <operation> innerha&b <portType> wird eine 8unktion R
Z*b"ebung100R definiert, die einen In(ut bekommt und einen 5ut(ut "ur%ckgibt. er In(ut
sind $eKte und Werte R Z*b"ebung100R, der 5ut(ut damit das !rgebnis der 5(erationen R
Z*b"ebung100-esponse R. ie <eihenfo&ge der Jin(utI- und Jout(utI-!&emente &egt
fest, dass diese 5(eration eine <e=uest-<es(onse-5(eration werden so&&. Sndert man die
<eihenfo&ge 3".B. Duerst Jout(utI dann Jin(utI4 oder &*sst man eines der beiden !&emente
gan" weg, dann *ndert sich auch das RMessage Exchange attern 32!P4R. ies erm#g&icht
".B. auch 5(erationen "u definieren, die nur einen <e=uest abgeben und nicht auf eine
<es(onse warten.
A&s Programmierer muss man noch fest&egen, we&che Parameter die !ingabe und die Ausgabe
erwarten. ies geschieht durch das <!essage>-!&ement. In unserem Beis(ie& wird bei der
5(eration R Z*b"ebung100R im Jin(utI-$ag auf die 2essage R Z*b"ebung100R und
im Jout(utI-$ag auf die 2essage R Z*b"ebung100-esponseR verwiesen.
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
<wsdl:messa!e name="Z*b"ebung100">
<wsdl:part name="parameters" element="tns:Z*b"ebung100" />
</wsdl:messa!e>
<wsdl:messa!e name="Z*b"ebung100-esponse">
<wsdl:part name="parameter" element="tns:Z*b"ebung100-esponse" />
</wsdl:messa!e>
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
Im <!essage>-!&ement werden ein"e&ne Parameter "u einer Fru((e "usammengefasst, so dass diese
f%r mehrere 5(erationen "ur .erf%gung stehen. In unserem Beis(ie& hat das 2essage-!&ement R
Z*b"ebung100R einen Parameter <part> vom $'( R Z*b"ebung100R sowie ein 2essage-
!&ement R Z*b"ebung100-esponseR vom $'( R Z*b"ebung100-esponseR
Wie bei einer 8unktion kann man auch den !intrag dieser Parameter
use"#require$# er"wingen oder mit use"#optional# o(tiona& handhaben..
Integrata WebServices im SAP ;1
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
<wsdl:types>
<xsd:sc"ema attri#ute$orm%efault="/uali0ied" tar!et&amespace="urn:sap-
com:document:sap:r0c:0unctions">
<xsd:simpleType name="numeric10">
<xsd:restriction #ase="xsd:string">
<xsd:maxLen!t" 'alue="10" />
<xsd:pattern 'alue="1d2" />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="numeric3">
- <xsd:restriction #ase="xsd:string">
<xsd:maxLen!t" 'alue="3" />
<xsd:pattern 'alue="1d2" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="string">
<xsd:restriction #ase="xsd:string" />
</xsd:simpleType>
</xsd:sc"ema>
<xsd:sc"ema attri#ute$orm%efault="/uali0ied" tar!et&amespace="urn:sap-
com:document:sap:soap:0unctions:mc-st4le" xmlns:n(="urn:sap-
com:document:sap:r0c:0unctions">
<xsd:import namespace="urn:sap-
com:document:sap:r0c:0unctions" />
<xsd:element name="Z*b"ebung100">
<xsd:complexType>
<xsd:se)uence>
<xsd:element name=",56ext5" type="n0:string"
min*ccurs="0" />
<xsd:element name=",7%umc"
type="n0:numeric10" />
<xsd:element name=",8%umc"
type="n0:numeric3" />
</xsd:se)uence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Z*b"ebung100-esponse">
- <xsd:complexType>
- <xsd:se)uence>
<xsd:element name=",36ext" type="n0:string" />
<xsd:element name=",9#rgebnis"
type="n0:numeric10" />
</xsd:se)uence>
</xsd:complexType>
</xsd:element>
</xsd:sc"ema>
</wsdl:types>
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
+un m%ssen die $'(en 3String, Integer, eigener $'(4 "wischen Jwsd&0t'(esI und
JPwsd&0t'(esI f%r die Parameter definiert werden. ie $'(en werden gesondert innerha&b
der Jt'(esI..JPt'(esI-$ags definiert. abei k#nnen gem*O 1S kom(&eKe und einfache
atent'(en definiert werden. R D8b7ebung1GG<es(onseR ist hier ein kom(&eKer atent'(,
Integrata WebServices im SAP ;;
der !rgebnis(arameter transferiert. !in Sim(&e$'(e JKsd0sim(&e$'(e nameTRnumeric1GRI
darf weder 12--)inde&emente entha&ten noch 12--Attribute besit"en.
)om(&eKe $'(en in !rg*n"ung "u den einfachen $'(en bieten kom(&eKe 12--
atent'(definitionen die 2#g&ichkeit, !&ementenstrukturen "usammenh*ngend "u definieren.
So&che Strukturen k#nnen weitere !&emente und Attribute beinha&ten. ,ier wird ein neuer
$'( R%&'(e'ung)**Response R mit ents(rechenden )inde&ementen R +Text R und
R,Erge'nis R.urch JKsd0se=uenceI wird eine -iste von )inde&ementen s(e"ifi"iert. 9edes
dieser !&emente kann keinma&, einma& oder mehrfach auftreten Attribute min5ccurs und
maK5ccurs4. 8a&&s kein occurs-Attribut vorhanden ist, wird in beiden 8*&&en der efau&t-Wert
1 verwendet. 2an kann auch einen neuen !&ementt'(en er"eugen, indem man einen bereits
vorhandenen !&ementt'( beschr*nkt JKsd0restriction baseTRxs$:stringRI
af%r m%ssen a&&e !&emente aufge"*h&t werden und dabei kann man be&iebige
!inschr*nkungen vertei&en.
-hoice
2erkma&e0 Aus einer An"ah& von !&ementen darf, fa&&s kein anderer Wert %ber
2aKP2in5ccurs geset"t, ein !&ement vorkommen. Ansonsten auch mehrere m#g&ich.
<eihenfo&ge be&iebig. urch das 2aK5ccurs ist es m#g&ich "u sagen, dass !&emente mehrfach
und die <eihenfo&ge be&iebig ist
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
JKsd0e&ement nameTR$ierR t'(eTUtierUI
JKsd0com(&eK$'(e nameTUtierUI
JKsd0choiceI
JKsd0e&ement nameTRAffeR t'(eTRKsd0stringRPI
JKsd0e&ement nameTR$igerR t'(eTRKsd0string RPI
JKsd0e&ement nameTR-eo(ardR t'(eTRKsd0stringRPI
JKsd0e&ement nameTR2ausR t'(eTRKsd0string RPI
JPKsd0choiceI
JPKsd0com(&eK$'(eI
JPKsd0e&ementI
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
A&&
2erkma&e0 9edes !&ement darf einma& vorkommen.
<eihenfo&ge s(ie&t keine <o&&e.
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
JKsd0e&ement nameTR!inkaufs&isteR t'(eTUeinkaufs&isteUI
JKsd0com(&eK$'(e nameTUeinkaufs&isteUI
JKsd0a&&I
JKsd0e&ement nameTR)aeseR t'(eTRKsd0stringRPI
JKsd0e&ement nameTR2i&chR t'(eTRKsd0string RPI
JKsd0e&ement nameTRButterR t'(eTRKsd0stringRPI
JKsd0e&ement nameTRWurstR t'(eTRKsd0string RPI
JPKsd0a&&I
JPKsd0com(&eK$'(eI
JPKsd0e&ementI
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
Integrata WebServices im SAP ;?
Einfache Typen./ear'eiten0
12- Schema ste&&t einige grund&egende atomare atent'(en bereit. ie atomaren
atent'(en entha&ten die Vk&assischenW $'(en, wie sie "um $ei& auch in anderen $'(s'stemen
3". B. /, 9ava oderSN-4 s(e"ifi"iert sind0
Ks0string
Ks0decima&
Ks0integer
Ks0f&oat
Ks0boo&ean
Ks0date
Ks0time
X
Integrata WebServices im SAP ;>
%. Legen Sie ein &inding 'u( )rovider-Service an
Starten Sie den S5A2A+AF!<
Sie verwenden S5A-2anager f%r die vo&&st*ndige )onfiguration von Service-Providern und
/onsumer-ProK's eines &oka&en S'stems. 8o&gende Aufgabenbereiche werden beschrieben0
$echnische )onfiguration
Sie m%ssen "un*chst einen ,ost und Port "uordnen, um mit dem "entra&en SAP +etWeaver
Administrator aus dem S5A 2anager heraus arbeiten "u k#nnen.
Integrata WebServices im SAP ;C
ann steigen Sie ein %ber Web-Service-)onfiguration
Integrata WebServices im SAP ;A
Suchen Sie ihre Service-efinition Suchausdruck DY Z start
2arkieren der Dei&e Z A((&' Se&ection ank&icken
Integrata WebServices im SAP ;@
-egen Sie eine Service an
!inste&&ungen %bernehmen Z )onfiguration definieren Z sichern
Integrata WebServices im SAP ;B
WS--okument f%r gew*h&tes BindingPService #ffnen
7<- %ber /ut L Paste ko(ieren
htt(0PPtrainG@.sa(.integrata.net0BGG1Psa(PbcPsrtPwsd&PsrvcHGGCGCAB/AB81!!?A>/?B;A1?B
!>>C;Pwsd&11Pa&&inonePwsH(o&ic'Pdocument[sa(-c&ientTGG1
Integrata WebServices im SAP ;E
*. Legen Sie eine +onsu(er Webservice-Definition an
Wi""ard aufrufen
Service /onsumer w*h&en Z weiter
Integrata WebServices im SAP ?G
!Kterne WS- w*h&en
7r& a&s Basis w*h&en Z weiter
Integrata WebServices im SAP ?1
7r& "uordnen Z weiter
Paket "uordnen, Pr*fiK "uordnen Z weiter Z fertigste&&en
Integrata WebServices im SAP ?;
7ser eingeben
Service /onsumer aktivieren
Integrata WebServices im SAP ??
Fenerierte atent'(en sichten
,. Legen Sie einen )ort an
IA((&' Se&ectionJ
Integrata WebServices im SAP ?>
Port an&egen
!inste&&ung %bernehmen
Integrata WebServices im SAP ?C
Auswah& %bernehmen Z sichern
-. Testen Sie den +onsu(er-Webservice
$esten des /onsumer Services
Integrata WebServices im SAP ?A
Ausf%hren
!rgebnis
Integrata WebServices im SAP ?@
.. $rbeiten (it $nayse/erk'eugen 0ber S1T23T4L
Benut"er hin"uf%gen
!nter
A&&e $races f%r /onsumer und Provider aktivieren und )onfiguratiob sichern
A&&e $race&isten kontro&&ieren
Integrata WebServices im SAP ?B
2essage 2onitor kontro&&ieren
Ausf%hren
Integrata WebServices im SAP ?E
15. 6rkennen Sie ihre $usnah(ekasse
!instieg in ihre ProK'k&asse
o((e&k&ick auf ProK'k&asse Z 2ethodenkarte "iehen
Integrata WebServices im SAP >G
auf 2ethode (ositionieren Z Ausnahme ank&icken
auf die mit D... beginnende )&asse k&icken
$eKtkarte "iehen und Ausnahme I erkennen
Integrata WebServices im SAP >1
11. 7erbrauchen Sie den +onsu(er Webservice i( )rogra((abauf
-egen Sie das $est(rogramm %ber S!BG an
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
rep!rt "_sd_uebung_1_00.
data# pr!x$ t$pe ref t! "p1_"_fb_uebung1_00_ddc!_"_fb.
data input t$pe "p1_"_fb_uebung1_00_dd"fb_ueb3.
data !utput t$pe "p1_"_fb_uebung1_00_dd"fb_ueb2.
data# l!_"p1 t$pe ref t! "p1_"_fb_uebung1_00_ddcx_"fb_u.
input%p1text = &'!land &.
input%p2text2 = &(irsc) &.
input%p3numc = .
input%pnumc = 5.
tr$ .
create !b*ect pr!x$
exp!rting
l!gical_p!rt_name = &+_,-_./-.011_00_22&.
tr$ .
tr$.
call met)!d pr!x$%3"fb_uebung100dd
exp!rting
input = input
imp!rting
!utput = !utput.
catc) "p1_"_fb_uebung1_00_ddcx_"fb_u int! l!_"p1.
message &0ullwert im 4er5ice & t$pe &/&.
catc) cx_ai_s$stem_fault .
catc) cx_ai_applicati!n_fault .
endtr$.
endtr$.
catc) cx_ai_s$stem_fault.
endtr$.
write# !utput%p5text6 !utput%p6ergebnis.
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
ItestenJ
Integrata WebServices im SAP >;
12. $naysieren Sie ihr 6rgebnis 0ber S1T23T4L
etai& I J
!nter und o((e&k&ick auf die re&evante Dei&e
Integrata WebServices im SAP >?
o((e&k&ick auf die 1.Dei&e Sector 1 P Sector > erkennen
8unktiona&en $race aufrufen
o((e&k&ick auf die Dei&e
Integrata WebServices im SAP >>
Pa'&oad f%r In(ut kontro&&ieren
Pa'&oad f%r <e=uest kontro&&ieren

Integrata WebServices im SAP >C
1". Webservice aus &api &3S1511 anegen
I J
I J
Integrata WebServices im SAP >A
I
J Bank *ndern ist das re&evante BAPI
I J
I J
Integrata WebServices im SAP >@
I
J
I J
Integrata WebServices im SAP >B
I
J
I J
Integrata WebServices im SAP >E
I J
Integrata WebServices im SAP CG
I J
Integrata WebServices im SAP C1
I J
Integrata WebServices im SAP C;
I J
Integrata WebServices im SAP C?
I
J
I J
Integrata WebServices im SAP C>
I J
Integrata WebServices im SAP CC
I J Z I J Z I J
Ausf%hren
TTTTTTTTTTTTTTTTTTTTTTTTTTT $est
7n0#-an89)ange xmlns#n0=:urn#sap%c!m#d!cument#sap#s!ap#functi!ns#mc%st$le:3
7-an8;ddress3
7-an80ame3-eispiel7<-an80ame3
7'egi!n34tr7<'egi!n3
74treet34tring 37<4treet3
79it$34tring 7<9it$3
74wift9!de34tring 57<4wift9!de3
Integrata WebServices im SAP CA
7-an81r!up34t7<-an81r!up3
7=!b89urac347<=!b89urac3
7-an80!34tring >7<-an80!3
7=!st-an834tring ?7<=!st-an83
7-an8-ranc)34tring 107<-an8-ranc)3
7;ddr0!34tring 117<;ddr0!3
7<-an8;ddress3
7-an8;ddressx3
7-an80ame3@7<-an80ame3
7'egi!n347<'egi!n3
74treet347<4treet3
79it$347<9it$3
74wift9!de347<4wift9!de3
7-an81r!up347<-an81r!up3
7=!b89urac347<=!b89urac3
7-an80!347<-an80!3
7=!st-an8347<=!st-an83
7-an8-ranc)347<-an8-ranc)3
7;ddr0!347<;ddr0!3
7<-an8;ddressx3
7-an82etail3
79reat2ate31???%01%27<9reat2ate3
79reat!r34tring 1637<9reat!r3
7Aet)!d34tri7<Aet)!d3
7,!rmatting34tr7<,!rmatting3
7-an82elete347<-an82elete3
7<-an82etail3
7-an82etailx3
7Aet)!d347<Aet)!d3
7,!rmatting347<,!rmatting3
7-an82elete347<-an82elete3
7<-an82etailx3
7-an8c!untr$32/7<-an8c!untr$3
7-an88e$3100000017<-an88e$3
7<n0#-an89)ange3
==============================================================
as BAPI-$ransaktionsmode&& muO dem Benut"er eine eK(&i"ite $ransaktionssteuerung
erm#g&ichen. er Aufrufer kann fo&g&ich bei der )ombination mehrerer BAPIs se&bst
entscheiden, "u we&chem Deit(unkt er ein \/ommit Work\ 3b"w. gegebenenfa&&s ein \<o&&back
Work\4 durchf%hrt. ies bedeutet insbesondere, daO die BAPIs se&bst 3im a&&gemeinen4 kein
\/522I$ W5<)\-)ommando ausf%hren.
Be"%g&ich der )ombination mehrerer BAPIs innerha&b einer -7W eKistieren die fo&genden
!inschr*nkungen0
Wurde eine Instan" von einem schreibenden BAPI ange&egt, modifi"iert oder ge&#scht,
kann ein &esendes BAPI ansch&ieOend nur dann auf die aktue&&en aten "ugreifen,
wenn vorher ein /ommit-Work stattgefunden hat.
!s ist nicht m#g&ich, innerha&b einer -7W "weima& schreibend auf die g&eiche Instan"
"u"ugreifen. Beis(ie&sweise kann nicht innerha&b der g&eichen -7W "un*chst das
5b6ekt ange&egt und ansch&ieOend ver*ndert werden.
2#g&ich ist es dagegen, innerha&b einer -7W mehrere Instan"en des g&eichen 5b6ektt'(s
an"u&egen.
Integrata WebServices im SAP C@
as Absch&ieOen einer $ransaktion erfo&gt entweder %ber ein /ommit-Work- oder %ber ein
<o&&back-)ommando. !ine BAPI-$ransaktion muO s(e"ie&& %ber den Aufruf der BAPIs
BapiService.Transaction Commit() b"w. BapiService.TransactionRollback() beendet werden.
1#. $naysieren Sie die Webservice-Definition

Services werden durch sechs 12-- ,au(te&emente definiert0
types (Datentypen)
Definition der Datentypen, die zum Austausch der messages benutzt werden.
message (Nachricht)
Abstrakte Definitionen der bertragenen Daten, bestehend aus mehreren logischen
Teilen, von denen jeder mit einer Definition innerhalb eines Datentypsystems
verknpft ist.
portType (Schnittstellentypen)
ine !enge von abstrakten "perationen #vier Typen von ausgetauschten
$achrichten%&
One-way: er Service bekommt eine In(ut-2essage vom /&ient.
Request-response0 er Service bekommt einen <e=uest 3In(ut-2essage4 vom /&ient und
sendet eine Antwort 35ut(ut-2esKsage4.
Solicit-response0 er Service sendet eine 2essage und erwartet eine Antwort vom /&ient.
Notification0 er Service sendet eine 5ut(ut-2essage.In WS- ;.G wurde die Be"eichnung
"u Interface ge*ndert.
binding (Bindung)
'estimmt das konkrete (rotokoll und Datenformat fr die Arbeitsschritte und
$achrichten, die durch einen bestimmten (ort)Typ gegeben sind.
port (Port)
*pezifiziert eine Adresse fr eine 'indung, also eine +ommunikationsschnittstelle,
blicherweise ein ,-.. .n /*D0 1.2 wurde die 'ezeichnung zu ndpoint ge3ndert.
service (Service)
4asst die !enge von (orts eines (ort)Typs zusammen.5
6666666666666666666666666666666666666666666666666666666666666666666666666666666
Integrata WebServices im SAP CB
X
1%. Legen Sie ein &inding 'u( )rovider-Service an
Starten Sie den S5A2A+AF!<
Sie verwenden S5A-2anager f%r die vo&&st*ndige )onfiguration von Service-Providern und
/onsumer-ProK's eines &oka&en S'stems.
ann steigen Sie ein %ber Web-Service-)onfiguration
Integrata WebServices im SAP CE
Suchen Sie ihre Service-efinition Suchausdruck DBAPIHBA+)H/,A+F!Y Z start
2arkieren der Dei&e Z A((&' Se&ection ank&icken
Integrata WebServices im SAP AG
-egen Sie eine Service an
!inste&&ungen %bernehmen Z )onfiguration definieren Z sichern
Integrata WebServices im SAP A1
WS--okument f%r gew*h&tes BindingPService #ffnen
7<- %ber /ut L Paste ko(ieren
htt(0PPtrainG@.sa(.integrata.net0BGG1Psa(PbcPsrtPwsd&PsrvcHGGCGCAB/AB81!!?B@A111B1;
BB@1BBPwsd&11Pa&&inonePwsH(o&ic'Pdocument[sa(-c&ientTGG1
1*. Legen Sie eine +onsu(er Webservice-Definition an
Wi""ard aufrufen
Integrata WebServices im SAP A;
Service /onsumer w*h&en Z weiter
!Kterne WS- w*h&en
Integrata WebServices im SAP A?
7r& a&s Basis w*h&en Z weiter
7r& "uordnen Z weiter
Integrata WebServices im SAP A>
Paket "uordnen, Pr*fiK "uordnen Z weiter Z fertigste&&en
7ser eingeben
Integrata WebServices im SAP AC
Service /onsumer aktivieren
Fenerierte atent'(en sichten
Integrata WebServices im SAP AA
1,. Legen Sie einen )ort an
IA((&' Se&ectionJ
Integrata WebServices im SAP A@
Port an&egen
!inste&&ung %bernehmen
Auswah& %bernehmen Z sichern
Integrata WebServices im SAP AB
1-. Testen Sie den +onsu(er-Webservice
$esten des /onsumer Services
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
7n0#-an89)ange xmlns#n0=:urn#sap%c!m#d!cument#sap#s!ap#functi!ns#mc%st$le:3
7-an8;ddress3
7-an80ame3-eispiel7<-an80ame3
7'egi!n34tr7<'egi!n3
74treet34tring 37<4treet3
79it$34tring 7<9it$3
74wift9!de34tring 57<4wift9!de3
7-an81r!up34t7<-an81r!up3
7=!b89urac347<=!b89urac3
7-an80!34tring >7<-an80!3
7=!st-an834tring ?7<=!st-an83
7-an8-ranc)34tring 107<-an8-ranc)3
7;ddr0!34tring 117<;ddr0!3
7<-an8;ddress3
7-an8;ddressx3
7-an80ame3@7<-an80ame3
7'egi!n347<'egi!n3
74treet347<4treet3
79it$347<9it$3
74wift9!de347<4wift9!de3
7-an81r!up347<-an81r!up3
7=!b89urac347<=!b89urac3
7-an80!347<-an80!3
7=!st-an8347<=!st-an83
7-an8-ranc)347<-an8-ranc)3
7;ddr0!347<;ddr0!3
7<-an8;ddressx3
7-an82etail3
79reat2ate31???%01%27<9reat2ate3
79reat!r34tring 1637<9reat!r3
7Aet)!d34tri7<Aet)!d3
Integrata WebServices im SAP AE
7,!rmatting34tr7<,!rmatting3
7-an82elete347<-an82elete3
7<-an82etail3
7-an82etailx3
7Aet)!d347<Aet)!d3
7,!rmatting347<,!rmatting3
7-an82elete347<-an82elete3
7<-an82etailx3
7-an8c!untr$32/7<-an8c!untr$3
7-an88e$3100000017<-an88e$3
7<n0#-an89)ange3
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
Ausf%hren
!rgebnis
/ommit Work aus&#sen
Integrata WebServices im SAP @G
%ber 8IG? testen
1.. $rbeiten (it $nayse/erk'eugen 0ber S1T23T4L
Benut"er hin"uf%gen
!nter
A&&e $races f%r /onsumer und Provider aktivieren und )onfiguratiob sichern
A&&e $race&isten kontro&&ieren
Integrata WebServices im SAP @1
2essage 2onitor kontro&&ieren
Ausf%hren
Integrata WebServices im SAP @;
25. 6rkennen Sie ihre $usnah(ekasse
!instieg in ihre ProK'k&asse
o((e&k&ick auf ProK'k&asse Z 2ethodenkarte "iehen
Integrata WebServices im SAP @?
auf 2ethode (ositionieren Z Ausnahme ank&icken
21. 7erbrauchen Sie den +onsu(er Webservice i( )rogra((abauf
-egen Sie das $est(rogramm %ber S!BG an
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
ItestenJ
22. $naysieren Sie ihr 6rgebnis 0ber S1T23T4L
etai& I J
Integrata WebServices im SAP @>
!nter und o((e&k&ick auf die re&evante Dei&e
o((e&k&ick auf die 1.Dei&e Sector 1 P Sector > erkennen
Integrata WebServices im SAP @C
8unktiona&en $race aufrufen
o((e&k&ick auf die Dei&e
Pa'&oad f%r In(ut kontro&&ieren
Integrata WebServices im SAP @A
Pa'&oad f%r <e=uest kontro&&ieren