View
216
Download
0
Category
Preview:
Citation preview
Ein
führ
ung
in S
OA
P
Sem
inar
E-S
ervi
ces
von
Chr
isto
ph K
urek
Was
ist S
OA
P?
SO
AP
ste
ht fü
r Sim
ple
Obj
ectA
cces
s P
roto
koll
SO
AP
ist e
in S
tand
aris
ierte
s V
erpa
ckun
gspr
otok
oll f
ür N
achr
icht
enS
OA
P is
t ein
e A
nwen
dung
der
XM
L-S
pezi
fikat
ion
Es
ist k
eine
kom
plet
te v
erte
ilte
Arc
hite
ktur
Vor
teile
von
SO
AP
+ X
ML
Bas
iere
nd⇒
Pla
ttfor
m-,
Bet
riebs
yste
m-,
und
Pro
gram
mie
rspr
ache
nuna
bhän
gig
+ E
infa
ch u
nd E
rwei
terb
ar+
Bau
t auf
Sta
ndar
tpro
toko
llen
auf,
wie
H
TTP
, SM
TP, F
TP+
Fire
wal
luna
bhän
gig
(Vor
teil?
)
Nac
htei
le v
on S
OA
P
-S
iche
rhei
tsst
anda
rds
noch
nic
ht
Sta
ndar
isie
rt (S
igna
tur,
Ver
schl
üsse
lung
)-
Nac
hric
hten
größ
e-
Per
form
ance
SO
AP
Nac
hric
hten
Bes
teht
aus
ein
en E
nvel
ope,
der
-O
ptio
nal e
inen
Hea
deru
nd-
dana
ch z
win
gend
ein
en B
ody
enth
ält.
Alle
s, w
as d
er X
ML
Syn
tax
ents
pric
ht,
kann
im B
ody
und
Hea
ders
tehe
n.X
ML
Syn
tax
eine
r SO
AP
Nac
hric
ht b
eruh
t au
f den
Nam
ensr
aum
ht
tp://
ww
w.w
3.or
g/20
01/0
6/so
ap-e
nvel
ope
SO
AP
Nac
hric
hten
SO
AP
Nac
hric
hten
<env:Envelopexmlns:env="http://www.w3.org/2002/06/soap-
envelope">
<env:Header>
<n:alertcontrol
xmlns:n="http://example.org/alertcontrol">
<n:priority>1</n:priority>
<n:expires>2001-06-22T14:00:00-05:00</n:expires>
</n:alertcontrol>
</env:Header>
<env:Body>
<m:alertxmlns:m="http://example.org/alert">
<m:msg>Pickup Mary at schoolat 2pm</m:msg>
</m:alert>
</env:Body>
</env:Envelope>
SO
AP
als
RC
P
RC
P s
teht
für R
emot
eP
roce
dure
Cal
l
Nac
hric
hten
tret
en p
aarw
eise
auf
Clie
nt fr
agt,
Ser
ver a
ntw
orte
t (in
SO
AP
S
pezi
fikat
ion
nich
t vor
gesc
hrie
ben)
SO
AP
als
RP
CA
ufru
f von
public Float getQuote(String
symbol);
<s:Envelope
xmlns:s="http://www.w3.org/2001/06/soap-envelope">
<s:Header>
<m:transaction
xmlns:m="soap-transaction"
s:mustUnderstand="true">
<transactionID>1234</transactionID>
</m:transaction>
</s:Header>
<s:Body>
<n:getQuotexmlns:n="urn:QuoteService">
<symbol
xsi:type="xsd:string"> IBM </symbol>
</n:getQuote>
</s:Body>
</s:Envelope>
SO
AP
als
RP
CM
öglic
he A
ntw
ort:
<s:Envelope
xmlns:s="http://www.w3.org/2001/06/soap-
envelope">
<s:Body>
<n:getQuoteRespone
xmlns:n="urn:QuoteService">
<value
xsi:type="xsd:float"> 98.06 </value>
</n:getQuoteResponse>
</s:Body>
</s:Envelope>
Attr
ibut
mus
tUnd
erst
and
Hea
derb
löck
ew
erde
n „o
ptio
nal“
vera
rbei
tet.
Der
mit
Attr
ibut
mustUnderstand=“true“
mus
s ve
rsta
nden
wer
den.
Falls
nic
ht d
er F
all,
mus
s ei
ne
Fehl
erm
eldu
ng e
rfolg
en.
Es
ist u
nabh
ängi
g da
von,
ob
die
Nac
hric
ht
im B
ody
vera
rbei
tet w
erde
n ka
nn.
Dat
enco
dier
ung
in S
OA
P
Von
W3C
wird
ein
Cod
ieru
ngss
til
vorg
esch
lage
n<s:Body>
<n:getQuotexmlns:n="urn:QuoteService"
s:encodingStyle="http://www.w3.org/2001/06/soap-
encoding">
<symbolxsi:type="xsd:string">IBM</symbol>
</n:getQuote>
</s:Body>
Dat
enco
dier
ung
in S
OA
P
3 M
öglic
he A
rten
, den
Dat
enty
p au
szud
rück
en1.
Ver
wen
dung
des
Attr
ibut
es x
si:ty
peun
d B
ezug
auf
ei
nen
Dat
enty
p de
s X
ML
Sch
emas
2.V
erw
eis
auf e
in X
ML-
Sch
ema-
Dok
umen
t, de
r den
xs
i:typ
ede
s E
lem
ente
s fe
stle
gt3.
Ver
wei
s au
f ein
Sch
ema
Dok
umen
t, de
r den
D
aten
typ
des
Ele
men
ts fe
stle
gt
Dat
enco
dier
ung
in S
OA
P1.
<person>
<namexsi:type="xsd:string">ErikaMustermann</name>
</person>
2.
<personxmlns="personschema.xsd">
<name>ErikaMustermann</name>
</person>
<!--
wobei "personschema.xs
d" das Element nameals
type="xsd:string" definiert -->
3.
<personxmlns="urn:some_namespace">
<name>ErikaMustermann</name>
</person>
<!--
wobei "urn:some_na
mespace" einen Namensraum
anzeigt, in dem die Werte von name-Elementen
Strings
sind -->
SO
AP
Dat
enty
pen
2 M
öglic
he S
chre
ibw
eise
n fü
r die
Ty
pisi
erun
g vo
n W
erte
n:
1.A
nony
m<SOAP-ENC:int>36</SOAP-ENC:int>
2.B
enan
nt<valuexsi:type="xsd:int">36</value>
SO
AP
Dat
enty
pen
Meh
rfach
refe
renz
<valuexsi:type="xsd:int" id="v1">42</value>
<valuehref="#v1" />
Obj
ektre
fere
nz-
Java
Addressaddress= newAddress();
Person person= newPerson();
person.setAddress(address);
-S
OA
P<Person> <Addresshref="#address1" /> </Person>
<Addressid="address1" />
SO
AP
Dat
enty
pen
Byt
e A
rray
s
<some_binary_dataxsi:type="SOAP-ENC:base64">
aDF4JIK34KJjk3443kjlkj43SDF43==
</some_binary_data>
SO
AP
Dat
enty
pen
Ein
-und
Zw
eidi
men
sion
ale
Arra
ys<names
xsi:type="SOAP-ENC:Array" SOAP-
ENC:arrayType="xsd:string[2,2]">
<name
xsi:type="xsd:string">a1d1</name>
<name
xsi:type="xsd:string">a2d1</name>
<name
xsi:type="xsd:string">a1d2</name>
<name
xsi:type="xsd:string">a2d2</name>
</names>
<names
xsi:type="SOAP-ENC:Array" SOAP-
ENC:arrayType="xsd:string[4]">
<name
xsi:type="xsd:string">a1d1</name>
<name
xsi:type="xsd:string">a2d1</name>
<name
xsi:type="xsd:string">a3d1</name>
<name
xsi:type="xsd:string">a4d1</name>
</names>
SO
AP
Dat
enty
pen
Dün
n be
setz
te A
rrays
<namesxsi:type="SOAP-ENC:Array" SOAP-
ENC:arrayType="xsd:string[10,10]">
<nameSOAP-ENC:position="[2,5]">Wert</name>
<nameSOAP-ENC:position="[5,2]">Wert</name>
</names>
Leer
e V
aria
blen
<namexsi:type="xsd:string" xsi:nil="true" />
SO
AP
Nac
hric
hten
aust
ausc
h
Nac
hric
ht: e
ine
Ein
weg
über
tragu
ngId
ee: E
ine
Nac
hric
ht d
urch
läuf
t vie
le
Zwis
chen
vera
rbei
tung
sste
llen
(Pip
elin
e)N
achr
icht
enpf
adA
kteu
r
SO
AP
Nac
hric
hten
aust
ausc
h
SO
AP
Tar
getin
g: B
estim
mt,
wel
cher
Tei
l de
r Nac
hric
ht fü
r wen
Nur
in B
ezug
auf
Hea
derb
löck
eA
ttrib
ut actor
SO
AP
Nac
hric
hten
aust
ausc
h
SO
AP
Nac
hric
hten
aust
ausc
h
<s:Envelopexmlns:s="...">
<s:Header>
<x:signatureactor="uri:SignatureVerifier"> ...
</x:signature>
</s:Header>
<s:Body>
<abc:purchaseOrder>...</abc:purchaseOrder>
</s:Body>
</s:Envelope>
SO
AP
Nac
hric
hten
aust
ausc
h
Kon
stru
ktio
n de
s N
achr
icht
enpf
ades
nic
ht
in d
er S
OA
P S
pezi
fikat
ion!
Erw
eite
rung
en: z
.B. S
OA
P R
outin
gP
roto
coll
(WS
-Rou
ting
von
Mic
roso
ft)
SO
AP
Nac
hric
hten
aust
ausc
h<s:Envelope
xmlns:s="...">
<s:Header>
<m:pathxmlns:m="http://schemas.xmlsoap.org/rp/"
s:mustUnderstand="true">
<m:action>http://www.im.org/chat</m:action>
<m:to>http://D.de/irgendein/endpunkt</m:to>
<m:fwd> <m:via>http://B.ch</m:via>
<m:via>http://C.at</m:via>
</m:fwd>
<m:rev> <m:via/>
</m:rev>
<m:from>mailto:lieschen.mueller@spitze.de</m:from>
<m:id> uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6 </m:id>
</m:path>
</s:Header>
<s:Body> ... </s:Body>
</s:Envelope>
SO
AP
Fau
lts
Enth
alte
ne In
form
atio
nen:
Faul
t-Cod
eE
in W
ert,
der d
en F
ehle
r Ide
ntifi
zier
tFa
ult-S
tring
Fehl
erer
klär
ung
Faul
t-Act
orD
er K
note
n, a
n de
n Fe
hler
auf
trat
Faul
t-Det
ails
Ein
zelh
eite
n, n
ur fa
lls d
er F
ehle
r unm
ittel
bar m
it ei
nen
Pro
blem
in B
ody
zusa
mm
enhä
ngt.
SO
AP
Fau
lts<s:Envelopexmlns:s="...">
<s:Body>
<s:Fault>
<faultcode>Client.Authentication</faultcode>
<faultstring> Ungültiger Identitätsnachweis
</faultstring>
<faultactor>http://spitze.de</faultactor>
<details> <!--AnwendungsspezifischeEinzelheiten-->
</details>
</s:Fault>
</s:Body>
</s:Envelope>
SO
AP
Fau
lts
Stan
dart
code
s fü
r SO
AP-
Faul
ts:
Ser
ver
Fehl
er, d
er n
icht
dire
kt m
it N
achr
icht
enve
rarb
eitu
ng
zusa
mm
enhä
ngt
Clie
nt Pro
blem
mit
der N
achr
icht
Ver
sion
Mis
mat
chFa
lsch
er N
amen
srau
m fü
r SO
AP
Env
elop
eM
ustU
nder
stan
dE
in v
on E
mpä
nger
nich
t ver
stan
dene
r mustUnderstand
Hea
derb
lock
SO
AP
Fau
ltsM
ustU
nder
stan
d-Fa
ults
<s:Envelope
xmlns:s="...">
<s:Header>
<f:M
isun
ders
tood
qnam
e="a
bc:t
rans
acti
on"
xmln
s:="
soap
-tr
ansa
ctio
ns"
/></s:Header>
<s:Body>
<s:Fault>
<faultcode>MustUnderstand</faultcode>
<faultstring> Header
nicht verstanden </faultstring>
<faultactor>http://spitze.de</faultactor>
</s:Fault>
</s:Body>
</s:Envelope>
SO
AP
Fau
ltsV
ersi
onM
ism
atch
-Fau
lt<s:Envelope
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<V:U
pgra
dexm
lns:
V="h
ttp:
//ww
w.w3
.org
/200
1/06
/soa
p-up
grad
e">
<env
elop
eqn
ame=
"ns1
:Env
elop
e"
xmln
s:ns
1="h
ttp:
//ww
w.w3
.org
/200
1/06
/soa
p-en
velo
pe"/
></
V:Up
grad
e></s:Header>
<s:Body>
<s:Fault>
<faultcode>s:VersionMismatch</faultcode>
<faultstring>Versionsfehler</faultstring>
</s:Fault>
</s:Body>
</s:Envelope>
Lite
ratu
r
http
://w
ww
.w3c
.org
/200
0/xp
/Gro
up/
http
://w
ww
.ore
illy.d
e/ca
talo
g/pr
ogw
ebso
apge
r/cha
pter
/ch0
2.ht
ml
Web
serv
ice-
Prog
ram
mie
rung
mit
SOA
P Ja
mes
Sne
ll, D
oug
Tidw
ell&
Pav
el K
ulch
enko
O‘R
eilly
1. A
ufla
ge, J
uli 2
002
ISB
N 3
-897
21-1
59-9
Recommended