Nagłówek SOAP można dodać do komunikatu żądania, tworząc zmienną o
typie SOAPHeader lub SOAPHeaders.
Następnie można odwzorować tę zmienną na żądanie nagłówka SOAP.
Procedura
- Utwórz usługę integracji zawierającą komponent integracji usług WWW.
- Wybierz komponent integracji usługi WWW i kliknij kartę
Zmienne znajdującą się powyżej obszaru diagramu.
- Utwórz zmienną prywatną, która zostanie później odwzorowana na nagłówek SOAP komunikatu żądania. Aby dodać
pojedynczy wpis nagłówka do komunikatu żądania, użyj typu
zmiennej SOAPHeader.
Aby dodać wiele nagłówków do
komunikatu żądania, użyj typu zmiennej SOAPHeaders.
- Zainicjuj zmienną utworzoną w kroku 3. Zmienną można zainicjować na trzy sposoby:
- Zdefiniowanie wartości domyślnej na stronie, na której zostanie utworzona
zmienna.
- Dodanie kodu JavaScript do
komponentu skryptu serwera.
- Kliknięcie opcji Przed i po i dodanie kodu
JavaScript w sekcji
Przypisania przed wykonaniem.
Poniższy przykład kodu JavaScript inicjuje zmienną prywatną requestHeader, która ma typ
SOAPHeader i zawiera pojedynczy wpis nagłówka:
tw.local.requestHeader.name = "sessionId";
tw.local.requestHeader.nameSpace = "http://acme.com";
tw.local.requestHeader.value = "<x:sessionId xmlns:x=\"http://acme.com\">1237314</x:sessionId>";
Uwaga: Należy upewnić się, że przestrzenie nazw są pełne, jak w podanych przykładach.
Uwaga: Należy unikać białych znaków w wartościach nagłówków SOAP. Zaleca się dodawanie fragmentów kodu XML niezawierających żadnych dodatkowych białych znaków.
Możliwe jest dodanie więcej niż jednego nagłówka. Poniższy przykład kodu JavaScript inicjuje dwa nagłówki SOAP i dodaje
je do zmiennej prywatnej requestHeaders, która ma typ SOAPHeaders i zawiera wiele nagłówków:
// Zainicjuj nagłówek subscriptionId
var header1 = new tw.object.SOAPHeader();
header1.name = "subscriptionId";
header1.nameSpace = "http://acme.com";
header1.value = "<x:subscriptionId xmlns:x=\"http://acme.com\">123-4567-9012</x:subscriptionId>";
// Zainicjuj nagłówek auditLogUUID
var header2 = new tw.object.SOAPHeader();
header2.name = "auditLogUUID";
header2.nameSpace = "http://acme.com";
header2.value = "<x:auditLogUUID xmlns:x=\http://acme.com\">ab74-ffce-3333-feab</x:auditLogUUID>";
// Teraz dodaj te dwa nagłówki do zmiennej SOAPHeaders
tw.local.requestHeaders.headers[0] = header1;
tw.local.requestHeaders.headers[1] = header2;
- Na karcie Odwzorowanie danych w widoku Właściwości w sekcji Odwzorowanie nagłówka danych wejściowych dodaj nowo utworzoną zmienną
(requestHeader lub requestHeaders), aby odwzorować ją na
nagłówek SOAP żądania.
- Zakończ definiowanie integracji usług WWW.
- Uruchom usługę integracji przez kliknięcie opcji Uruchom
usługę i sprawdź, czy nagłówki SOAP są dodawane do komunikatu
żądania.