Categories: Software

SOAP::Lite Web Service erweitern

Es kommt oft vor, dass Web Services der Response, die sie an den Aufrufer schicken einen SOAP-Header hinzufügen müssen. Üblicherweise geschieht dies dann, wenn ein Web Service eine Mittlerrolle hat, aber rein technisch darf jeder beteiligte Service der Response Header hinzufügen. Glücklicherweise ist das Hinzufügen von Headern zur Response so einfach wie das Zurückgeben eines Elements mit Namen im SOAP-Body. Geben Sie einfach ein SOAP::Header-Element auf dieselbe Weise zurück wie ein SOAP::Data-Element. SOAP::Lite wird automatisch jedes SOAP::Header-Objekt umwandeln und es der Response hinzufügen – in derselben Reihenfolge, wie es zurückgegeben wird. Hier ein Beispiel:


1 #!/usr/bin/perl
2 # Dateiname: Echo.pm
3 package Echo;
4 use strict;
5 use vars qw(@ISA);
6 @ISA = qw(SOAP::Server::Parameters);
7 sub echo {
8 my $self = shift;
9 my $envelope = pop;
10 my $str = $envelope->dataof("//echo/whatToEcho")->value;
11 return SOAP::Data->name("whatWasEchoed" => "$str"),
12 SOAP::Header->name("echoHeader1" => "something"),
13 SOAP::Header->name("echoDate" => time());
14 }
15 1;

Dieser Code erzeugt die folgende SOAP-Response:


<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/
encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Header>
<echoHeader1 xsi:type="xsd:string">something</echoHeader1>
<echoDate xsi:type="xsd:int">1019579390</echoDate>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<namesp1:echoResponse xmlns:namesp1="urn:Echo">
<whatWasEchoed xsi:type="xsd:string">Echo this statement</
whatWasEchoed>
</namesp1:echoResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Hochsichere Software für Electronic Knee Boards der Bundeswehrpiloten

Im Rahmen der umfassenden Digitalisierung der Bundeswehr ersetzen Electronic Knee Boards die herkömmlichen Handbücher von…

2 Tagen ago

Mai-Patchday: Microsoft schließt zwei aktiv ausgenutzte Zero-Day-Lücken

Sie betreffen Windows 10, 11 und Windows Server. In SharePoint Server steckt zudem eine kritische…

2 Tagen ago

Firefox 126 erschwert Tracking und stopft Sicherheitslöcher

Mozilla verteilt insgesamt 16 Patches für Firefox 125 und älter. Zudem entfernt der Browser nun…

3 Tagen ago

Supercomputer-Ranking: Vier europäische Systeme in den Top Ten

Einziger Neueinsteiger ist das Alps-System in der Schweiz. Die weiteren Top-Ten-Systeme aus Europa stehen in…

3 Tagen ago

Angriffe mit Banking-Malware auf Android-Nutzer nehmen weltweit zu

Im vergangenen Jahr steigt ihre Zahl um 32 Prozent. Die Zahl der betroffenen PC-Nutzer sinkt…

3 Tagen ago

Künstliche Intelligenz fasst Telefonate zusammen

Die App satellite wird künftig Telefongespräche in Echtzeit datenschutzkonform mit Hilfe von KI zusammenfassen.

3 Tagen ago