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>
Im Rahmen der umfassenden Digitalisierung der Bundeswehr ersetzen Electronic Knee Boards die herkömmlichen Handbücher von…
Sie betreffen Windows 10, 11 und Windows Server. In SharePoint Server steckt zudem eine kritische…
Mozilla verteilt insgesamt 16 Patches für Firefox 125 und älter. Zudem entfernt der Browser nun…
Einziger Neueinsteiger ist das Alps-System in der Schweiz. Die weiteren Top-Ten-Systeme aus Europa stehen in…
Im vergangenen Jahr steigt ihre Zahl um 32 Prozent. Die Zahl der betroffenen PC-Nutzer sinkt…
Die App satellite wird künftig Telefongespräche in Echtzeit datenschutzkonform mit Hilfe von KI zusammenfassen.