Anhang A. Ansprache der Services über Webservice-Schnittstellen
Inhaltsverzeichnis
A.1. Einleitung
A.2. Hinweise
A.3. Ablauf einer Kommunikation
A.3.1. Schritt 1: Beschaffung eines Authentifizierungstokens vom Security Token Server (STS)
A.3.2. Schritt 2: Nutzung eines geöffneten Services unter Angabe des Authentifizierungstokens
A.4. Umgebungskonstanten
A.5. Service-Endpunkte
A.6. WSDL-Dateien
A.1. Einleitung
Sollte für eine Programmiersprache kein SDK zur Verfügung stehen, so können die Webservice-Schnittstellen eines Services direkt angesprochen werden. Auf diese direkte Ansprache wird in den folgenden Abschnitten näher eingegangen.
Für die Programmiersprachen Java / PHP und für das .NET-Framework wird allerdings dringend die Nutzung der bereitgestellten SDKs empfohlen.
TOP
A.2. Hinweise
Es ist dringend darauf zu achten, dass die weitergeleiteten Bestandteile der SOAP-Nachrichten - insbesondere der Security-Token - nicht verändert werden. Eingefügte Zeilenumbrüche oder Tabulatoren würden zu Fehlern in den Aufrufen führen.
Zur verbesserten Lesbarkeit dieser Dokumentation wurden die nachfolgenden Beispielnachrichten formatiert. In dieser Form könnten die Nachrichten nicht vom Server verarbeitet werden.
TOP
A.3. Ablauf einer Kommunikation
Die ausgetauschten SOAP-Nachrichten nutzen beim direkten Zugriff über Webservice-Schnittstellen einen Teil der in WS-Security (Definition) definierten Elemente, insbesondere Token-Authentifizierung.
Die Nutzung der Dienste per Webservice-Schnittstelle läuft nach folgendem Schema ab:
Beschaffung eines Authentifizierungstokens vom Security Token Server (STS)
Nutzung eines geöffneten Services unter Angabe dieses Authentifizierungstokens
TOP
A.3.1. Schritt 1: Beschaffung eines Authentifizierungstokens vom Security Token Server (STS)
Der Login wird durch die SOAP-Nachricht login realisiert, welche an den STS geschickt wird. Benutzername und Passwort werden hierbei im Klartext im SOAP-Header der Nachricht als WS-Security UsernameToken angegeben:
Beispiel A.1. Login-Nachricht
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://sts.idm.telekom.com/schema/" xmlns:ns2="Security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<SOAP-ENV:Header>
<Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP-ENV:mustUnderstand="1">
<UsernameToken>
<Username>
</Username>
<Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">
</Password>
</UsernameToken>
</Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:login/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>  | Benutzername im Format Benutzername@t-online.de |
 | Passwort (im Klartext) |
Als Antwort wird ein intermediärer Token empfangen, welcher zur Anforderung des tatsächlichen Authentifizierungstokens verwendet wird.
Beispiel A.2. Login-Antwortnachricht inkl. intermediärem Token
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<loginResponse xmlns="http://sts.idm.telekom.com/schema/">
<tokenFormat>saml20</tokenFormat>
<tokenEncoding>text/xml</tokenEncoding>
<tokenData>
<Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:idm="http://token.idm.telekom.com/saml/assertion/extension" xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance" ID="STS-2833acc1-c9e1-497a-bd83-2dace2270b57" IssueInstant="2008-11-27T18:02:27.757+01:00" Version="2.0"
xsi:schemaLocation="urn:oasis:names:tc:SAML:2.0:assertion http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd">
<Issuer>http://samsts.t-online.com/samsts</Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"></ds:SignatureMethod>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>sdsni818L1ZKtL+7t+T8vwMxG+8=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>oT5xz6vVlXji18JuBNWSFSHou60=</ds:SignatureValue>
</ds:Signature>
<Subject>
<EncryptedID>
<xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:RetrievalMethod URI="#STS-30fcb78f-d793-4bd9-a53e-a46ebeb3a0b5"></ds:RetrievalMethod>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>IbeTMLMNrpmoXoycOtm30gQN1o1/86ZIT/Ulb1QYKJBb3HaBcdKGvgilnHU3fBJpFfEmseD3mOioo1huWUBopdLsr
KRgRIkE0uqlE8N6B2/FL/1VwpabWiP1pd9cu9d56NYotIOT/ANbvHrM8cdUI348MfqbwfkIE8vxJgwOVVOgh2cPlNWxjKE3zkY7m+O5ShDg
MP+eKVMWjLs/U0nDGs92H2RSlYnEZbY3xJ06v3JZDQ9vPpIILbBB84s55N4aqicfZD6TMjUA4awLNv020zh/YiUU/ZFOm2zjiX7r3nHA4he
48yvroi5BPgQGMjF4dZpofZ+4uo/QSferYJm9zL16qs2O42I7RfT4bYYZemL+qkDHSqLvo2D
2QgkHe/x8I7Q1xgiFECJ8znz6MK0osw==</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
<xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="STS-30fcb78f-d793-4bd9-a53e-a46ebeb3a0b5">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#kw-aes256"></xenc:EncryptionMethod>
<xenc:CipherData>
<xenc:CipherValue>PQ3lTTNhR3LNF++emRDfOaYOH1SK+CaUau4BYoJEWS8DMW1mybJy8A==</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
</EncryptedID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"></SubjectConfirmation>
</Subject>
<Conditions NotBefore="2008-11-27T18:02:27.771+01:00" NotOnOrAfter="2008-11-28T02:02:27.771+01:00">
<AudienceRestriction>
<Audience>http://samsts.t-online.com/samsts</Audience>
</AudienceRestriction>
</Conditions>
<AuthnStatement AuthnInstant="2008-11-27T18:02:27.752+01:00">
<AuthnContext>
<AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef>
</AuthnContext>
</AuthnStatement>
</Assertion>
</tokenData>
</loginResponse>
</soapenv:Body>
</soapenv:Envelope>
Nun wird der intermediäre Token als WS-Security - Information in der nächsten SOAP-Nachricht im SOAP-Header eingebunden. Die Nachricht getTokens dient der Anforderung des tatsächlichen Authentifizierungstokens unter Angabe des Zielsystems - bei den geöffneten Services immer "https://odg.t-online.de".
Beispiel A.3. Anforderung des Security-Tokens unter Angabe des intermediären Tokens
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://sts.idm.telekom.com/schema/" xmlns:ns2="Security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<SOAP-ENV:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP-ENV:mustUnderstand="1">
<Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:idm="http://token.idm.telekom.com/saml/assertion/extension" xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance" ID="STS-2833acc1-c9e1-497a-bd83-2dace2270b57" IssueInstant="2008-11-27T18:02:27.757+01:00"
Version="2.0" xsi:schemaLocation="urn:oasis:names:tc:SAML:2.0:assertion http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd">
<Issuer>http://samsts.t-online.com/samsts</Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"></ds:SignatureMethod>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>sdsni818L1ZKtL+7t+T8vwMxG+8=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>oT5xz6vVlXji18JuBNWSFSHou60=</ds:SignatureValue>
</ds:Signature>
<Subject>
<EncryptedID>
<xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:RetrievalMethod URI="#STS-30fcb78f-d793-4bd9-a53e-a46ebeb3a0b5"></ds:RetrievalMethod>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>IbeTMLMNrpmoXoycOtm30gQN1o1/86ZIT/Ulb1QYKJBb3HaBcdKGvgilnHU3fBJpFfEmseD3mOioo1huWUBopdLsrKRgRIkE0uqlE8N6B2/FL
/1VwpabWiP1pd9cu9d56NYotIOT/ANbvHrM8cdUI348MfqbwfkIE8vxJgwOVVOgh2cPlNWxjKE3zkY7m+O5ShDgMP+eKVMWjLs/U0nDGs92H2RSlYnEZbY3xJ06v3JZ
DQ9vPpIILbBB84s55N4aqicfZD6TMjUA4awLNv020zh/YiUU/ZFOm2zjiX7r3nHA4he48yvroi5BPgQGMjF4dZpofZ+4uo/QSferYJm9zL16qs2O42I7RfT4bYYZemL
+qkDHSqLvo2D2QgkHe/x8I7Q1xgiFECJ8znz6MK0osw==</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
<xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="STS-30fcb78f-d793-4bd9-a53e-a46ebeb3a0b5">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#kw-aes256"></xenc:EncryptionMethod>
<xenc:CipherData>
<xenc:CipherValue>PQ3lTTNhR3LNF++emRDfOaYOH1SK+CaUau4BYoJEWS8DMW1mybJy8A==</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
</EncryptedID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"></SubjectConfirmation>
</Subject>
<Conditions NotBefore="2008-11-27T18:02:27.771+01:00" NotOnOrAfter="2008-11-28T02:02:27.771+01:00">
<AudienceRestriction>
<Audience>http://samsts.t-online.com/samsts</Audience>
</AudienceRestriction>
</Conditions>
<AuthnStatement AuthnInstant="2008-11-27T18:02:27.752+01:00">
<AuthnContext>
<AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef>
</AuthnContext>
</AuthnStatement>
</Assertion>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:getTokens>
<ns1:serviceId>https://odg.t-online.de</ns1:serviceId>
</ns1:getTokens>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Die Antwortnachricht getTokensResponse enthält den endgültigen Authentifizierungstoken, welcher für die Aufrufe der geöffneten Services verwendet wird.
Beispiel A.4. Antwortnachricht mit Authentifizierungstoken
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<getTokensResponse xmlns="http://sts.idm.telekom.com/schema/">
<securityToken>
<tokenFormat>saml20</tokenFormat>
<tokenEncoding>text/xml</tokenEncoding>
<tokenData>
<Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:idm="http://token.idm.telekom.com/saml/assertion/extension" xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance" ID="STS-65128667-ed19-4064-9c85-dc5e49fcfbdf" IssueInstant="2008-11-27T18:02:29.804+01:00"
Version="2.0" xsi:schemaLocation="urn:oasis:names:tc:SAML:2.0:assertion http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd">
<Issuer>http://samsts.t-online.com/samsts</Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"></ds:SignatureMethod>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>YxVopyw4SuqpyZtri7PkpFkGrdI=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>F3bQURfpRCp6JkxonmWv8grMhrk=</ds:SignatureValue>
</ds:Signature>
<Subject>
<EncryptedID>
<xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>N0bAwIYFF1GkxSFLO4DIU1lcwoLQV0OW3hA912MrVTy9pifF2ClgamxifE+VfhSBJ4tobGyZaxbpz1fccYBljw1Szw4oETLPAe1zAbH41wQxMG
SVfm0TueRHm4MlR5VlYhBp0Cbt0/cb5w/kE25+Wsn/DblCt8+FD0vrrhAFEqp2zHH2OAOVCmNq/sCFmhjPYldilWr59ov12+nwcGOVgyHVHCyMcDWWQaGvmpTB0DBWtV
+bL88XMZcYEECYbILuYvaH1rnGRtbYbeVApvImbF/tRQC9Yo+z9/nllWnvs4dU21Le3k6VXCI8vooKpXFWhXnobBk5nKlXjHdD9iaw2dkGxqbctj1BuDTlmOpbUCq5Fl
e89oBCzmKPvmJiYrFy1N0DUdSxlCuY68g8fB3FOg==</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
<xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="STS-935a2098-533d-4e29-b9a9-428cbec89ca7">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#kw-aes256"></xenc:EncryptionMethod>
<xenc:CipherData>
<xenc:CipherValue>x4dBZ2cWeOJoiD1G2aGZdOdFMSTXvTj9LyKOattwPUfocyc/se+dpg==</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
</EncryptedID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"></SubjectConfirmation>
</Subject>
<Conditions NotBefore="2008-11-27T18:02:29.820+01:00" NotOnOrAfter="2008-11-28T02:02:29.820+01:00">
<AudienceRestriction>
<Audience>https://odg.t-online.de</Audience>
</AudienceRestriction>
</Conditions>
<AuthnStatement AuthnInstant="2008-11-27T18:02:29.580+01:00">
<AuthnContext>
<AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef>
</AuthnContext>
</AuthnStatement>
<AttributeStatement>
<EncryptedAttribute>
<xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>ra+1ReZipEFMS5S/b0z/3DvUAK086SmhahOJSsSayn2a0Z7NngUVo1oGn/DLrBJVnKDC8zkzHUXPZQG2Q2lFpOjegDyNu7YvkzWbiJf0vrcg
93hU5906HSOZ7b+woCH6RADg8Ws7ffLb+G19NAH0Zm5C5j/0s//YwXMubeiqro243AssaRYNms8sBe7IavkgHjVSen4kiMPc3N4MXXCgLc6l73wetSk9zng3YZO7Yk
Ps1j+SfUNzQomizlHglyf0NSGaMVYU/hTHtClDueBX3YD2S3tRqyqUE838y1vfoOBTzHjOdiG4s0Q8p2yE+QTj0Vcnj3vstouX+1KJjol4vkmdXlx9O7XuY6hhq6h2
pyPIQk8hgHX7VRh71mC5EA9Ko/svn3VTdAj/s3bofei2JPpxp70nBrP6MamWtc/S8YM=</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</EncryptedAttribute>
<EncryptedAttribute>
<xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>8h2HqQ0qZxWXcJKzZ+klHkJxZa/3J2eXo3gR3O+oNQniPjBSujLDY4PDasDw/HOWt8UTyxfuP0M465JQvcyDvtZ+OyeQJnFxMl5KBu1vuIoZBXqXy0pyOEbWNKqnTu5GcKp+2Plh1Cx4mRX39id3XZPWZsL1o+JphDrS3Soi8f/LwCo1fQmzQU+qTK4OwOEa0F9P0BxVsypOX6ooampS8uNVM/B/lLIo9EDGhyUEbqvxG385ety6HkctOdUGEDfjEcpWdwqxsWQ6ehZRUuuipXkVGOhgIR/VAhSo4KYVwWZkJcY8i+vrpi69n/dXmAvb518oblszXKbU1LgFDHFjaJMD8ohVZXcrJ0f3dNLTZMkb4/VXeA7V/y3GYNnpl957vTEQhEd16qc42NdTOj//31BcPZLOeVu13lQ/r77J5LtZ3Di2ncjbtEu8I/HeMzuj</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</EncryptedAttribute>
<EncryptedAttribute>
<xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>CxIgJ7WD/WB/qILsqHs9ptlVS/nmpP8Db+PaI1qg7aAh8WF+LqZSpnKo6bJ281deW7rQcUvcGsW1bca1Kq4M+p+65uymyxqzmaqdE8wM3s8KtjmP/6F9yXoQA5tSsmpZSl4U5xnxb/wNQ+uR02z0ybbcH2M/9waLOrbz4DfPn+M1ex4csfJG7SkLipf855my/w22pl5sZXmEXeagxKXrpMx4x0oawA8UKbjsCCFJLjY5GwVpPHvs2E89YRraqBo1pimRRXR6K/v63wGj5r8QSf2F9jSFxNBmUriuiYE/ox334Z/cqmoW/gKJ4W4HALhNJqMaqhhdfwOyfxmpSRAW5LySl18OhmCILkvabyqDOfsuajem7TtZDxkm2ecKQFih+scBbfhuW62y7F7dMlNR5Ec/zjg9ApxfwmKd7MxsL+xW9OFo8eH9YlPAmKkh3D0I</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</EncryptedAttribute>
</AttributeStatement>
</Assertion>
</tokenData>
</securityToken>
</getTokensResponse>
</soapenv:Body>
</soapenv:Envelope>  | Hierauf folgen 43 weitere EncryptedAttribute-Nodes, auf deren Darstellung zwecks Übersichtlichkeit verzichtet wurde |
TOP
A.3.2. Schritt 2: Nutzung eines geöffneten Services unter Angabe des Authentifizierungstokens
Das vom STS empfangene Authentifizierungstoken kann nun verwendet werden, um beliebige Services des Open Development Gateways (ODG) aufzurufen. Der Authentifizierungstoken wird dabei in jeder Nachricht an das ODG im SOAP-Header eingebunden.
Hier wird exemplarisch ein Aufruf des Quota-Verwaltungsservices dargestellt:
Beispiel A.5. Aufruf des Quota-Verwaltungsservices mit eingebundenem Authentifizierungstoken
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://odg.tonline.de/ODGBaseUserService/" xmlns:ns2="Security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<SOAP-ENV:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP-ENV:mustUnderstand="1">
<Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:idm="http://token.idm.telekom.com/saml/assertion/extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="STS-65128667-ed19-4064-9c85-dc5e49fcfbdf" IssueInstant="2008-11-27T18:02:29.804+01:00" Version="2.0" xsi:schemaLocation="urn:oasis:names:tc:SAML:2.0:assertion http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd">
<Issuer>http://samsts.t-online.com/samsts</Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"></ds:SignatureMethod>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>YxVopyw4SuqpyZtri7PkpFkGrdI=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>F3bQURfpRCp6JkxonmWv8grMhrk=</ds:SignatureValue>
</ds:Signature>
<Subject>
<EncryptedID>
<xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>N0bAwIYFF1GkxSFLO4DIU1lcwoLQV0OW3hA912MrVTy9pifF2ClgamxifE+VfhSBJ4tobGyZaxbpz1fccYBljw1Szw4oETLPAe1zAbH41wQxMGSVfm0TueRHm4MlR5VlYhBp0Cbt0/cb5w/kE25+Wsn/DblCt8+FD0vrrhAFEqp2zHH2OAOVCmNq/sCFmhjPYldilWr59ov12+nwcGOVgyHVHCyMcDWWQaGvmpTB0DBWtV+bL88XMZcYEECYbILuYvaH1rnGRtbYbeVApvImbF/tRQC9Yo+z9/nllWnvs4dU21Le3k6VXCI8vooKpXFWhXnobBk5nKlXjHdD9iaw2dkGxqbctj1BuDTlmOpbUCq5Fle89oBCzmKPvmJiYrFy1N0DUdSxlCuY68g8fB3FOg==</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
<xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="STS-935a2098-533d-4e29-b9a9-428cbec89ca7">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#kw-aes256"></xenc:EncryptionMethod>
<xenc:CipherData>
<xenc:CipherValue>x4dBZ2cWeOJoiD1G2aGZdOdFMSTXvTj9LyKOattwPUfocyc/se+dpg==</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
</EncryptedID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"></SubjectConfirmation>
</Subject>
<Conditions NotBefore="2008-11-27T18:02:29.820+01:00" NotOnOrAfter="2008-11-28T02:02:29.820+01:00">
<AudienceRestriction>
<Audience>https://odg.t-online.de</Audience>
</AudienceRestriction>
</Conditions>
<AuthnStatement AuthnInstant="2008-11-27T18:02:29.580+01:00">
<AuthnContext>
<AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef>
</AuthnContext>
</AuthnStatement>
<AttributeStatement>
<EncryptedAttribute>
<xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>ra+1ReZipEFMS5S/b0z/3DvUAK086SmhahOJSsSayn2a0Z7NngUVo1oGn/DLrBJVnKDC8zkzHUXPZQG2Q2lFpOjegDyNu7YvkzWbiJf0vrcg93hU5906HSOZ7b+woCH6RADg8Ws7ffLb+G19NAH0Zm5C5j/0s//YwXMubeiqro243AssaRYNms8sBe7IavkgHjVSen4kiMPc3N4MXXCgLc6l73wetSk9zng3YZO7YkPs1j+SfUNzQomizlHglyf0NSGaMVYU/hTHtClDueBX3YD2S3tRqyqUE838y1vfoOBTzHjOdiG4s0Q8p2yE+QTj0Vcnj3vstouX+1KJjol4vkmdXlx9O7XuY6hhq6h2pyPIQk8hgHX7VRh71mC5EA9Ko/svn3VTdAj/s3bofei2JPpxp70nBrP6MamWtc/S8YM=</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</EncryptedAttribute>
<EncryptedAttribute>
<xenc:EncryptedData xmlns:xenc="http://www.w3.orgf/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>8h2HqQ0qZxWXcJKzZ+klHkJxZa/3J2eXo3gR3O+oNQniPjBSujLDY4PDasDw/HOWt8UTyxfuP0M465JQvcyDvtZ+OyeQJnFxMl5KBu1vuIoZBXqXy0pyOEbWNKqnTu5GcKp+2Plh1Cx4mRX39id3XZPWZsL1o+JphDrS3Soi8f/LwCo1fQmzQU+qTK4OwOEa0F9P0BxVsypOX6ooampS8uNVM/B/lLIo9EDGhyUEbqvxG385ety6HkctOdUGEDfjEcpWdwqxsWQ6ehZRUuuipXkVGOhgIR/VAhSo4KYVwWZkJcY8i+vrpi69n/dXmAvb518oblszXKbU1LgFDHFjaJMD8ohVZXcrJ0f3dNLTZMkb4/VXeA7V/y3GYNnpl957vTEQhEd16qc42NdTOj//31BcPZLOeVu13lQ/r77J5LtZ3Di2ncjbtEu8I/HeMzuj</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</EncryptedAttribute>
<EncryptedAttribute>
<xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>CxIgJ7WD/WB/qILsqHs9ptlVS/nmpP8Db+PaI1qg7aAh8WF+LqZSpnKo6bJ281deW7rQcUvcGsW1bca1Kq4M+p+65uymyxqzmaqdE8wM3s8KtjmP/6F9yXoQA5tSsmpZSl4U5xnxb/wNQ+uR02z0ybbcH2M/9waLOrbz4DfPn+M1ex4csfJG7SkLipf855my/w22pl5sZXmEXeagxKXrpMx4x0oawA8UKbjsCCFJLjY5GwVpPHvs2E89YRraqBo1pimRRXR6K/v63wGj5r8QSf2F9jSFxNBmUriuiYE/ox334Z/cqmoW/gKJ4W4HALhNJqMaqhhdfwOyfxmpSRAW5LySl18OhmCILkvabyqDOfsuajem7TtZDxkm2ecKQFih+scBbfhuW62y7F7dMlNR5Ec/zjg9ApxfwmKd7MxsL+xW9OFo8eH9YlPAmKkh3D0I</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</EncryptedAttribute>
</AttributeStatement>
</Assertion>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:getQuotaInformation>
<moduleId>VoiceButlerProduction</moduleId>
</ns1:getQuotaInformation>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>  | Hierauf folgen die 43 weiteren EncryptedAttribute-Nodes des Authentifizierungstokens |
Die Antwortnachricht entspricht dem GetQuotaInformationResponse - Objekts.
Beispiel A.6. Antwortnachricht: getQuotaInformationResponse
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<getQuotaInformationResponse xmlns="http://odg.tonline.de/ODGBaseUserService/">
<errorCode xmlns="">0000</errorCode>
<errorMessage xmlns="">the request was successfull</errorMessage>
<maxQuota xsi:type="xsd:int" xmlns="">1000000</maxQuota>
<maxUserQuota xmlns="">1000000</maxUserQuota>
<quotaLevel xsi:type="xsd:int" xmlns="">0</quotaLevel>
</getQuotaInformationResponse>
</soapenv:Body>
</soapenv:Envelope>
TOP
A.4. Umgebungskonstanten
Innerhalb der SDKs stehen für die Identifikation der Umgebungen Konstanten zur Verfügung. Diese müssen beim Aufruf per Webservice-Schnittstelle als Integer-Wert angegeben werden:
Tabelle A.1. Umgebungskonstanten
| Umgebung | Konstante für diese Umgebung |
| Produktionsumgebung | 1 |
| Sandbox-Umgebung | 2 |
| Mock-Umgebung | 3 |
TOP
A.5. Service-Endpunkte
Tabelle A.2. Endpunkte der Open-Development-Services
TOP
A.6. WSDL-Dateien
Tabelle A.3. WSDL-Dateien der Open-Development-Services
TOP