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> %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> 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