Für den Zugriff auf SOAP-Header stehen verschiedene Funktionen zur Verfügung. Einzelheiten bezüglich des Zugriffs auf HTTP-Header finden Sie in den ersten vier Referenzabschnitten, die am Ende dieses Themas aufgeführt sind.
Die SOAP-Header sind nur für EGL-generierte, Java-basierte SOAP-Services und EGL-generierte, Java- bzw. JavaScript-basierte SOAP-Serviceanforderer verfügbar.
Record SOAPHeader
field1 string{@xmlelement{namespace = "http://services";}};
field2 string{@xmlelement{namespace = "http://services";}};
end
Es ist erforderlich, dass der Datensatzabschnitt nicht strukturiert ist, und jedes Feld muss einen Namensbereich angeben.
service SayHello
function hello()
getSOAPRequestHeaders(header);
//...
header SOAPHeader{field1="valueA", field2="valueB"};
ServiceLib.setSOAPResponseHeaders(header);
end
end
Die Funktion hello ruft die SOAP-Anforderungsheader für einen Datensatz des oben genannten Typs ab, ordnet diesem Datensatz Werte zu und definiert den SOAP-Antwortheader mit den angeforderten Werten.
srvc SayHello{@BindService {}};
header SOAPHeader{field1="value1", field2="value2"};
ServiceLib.setSOAPRequestHeaders(srvc, header);
response string = srvc.hello("ABC");
ServiceLib.getSOAPResponseHeaders(srvc, header);
Der Anforderer deklariert eine Servicezugriffsvariable, ordnet einem Datensatz des oben genannten Typs Werte zu, definiert den SOAP-Anforderungsheader mit diesen Werten, ruft den Service auf und ruft die Antwortheader für einen Datensatz des oben genannten Typs ab.