Dodawanie nagłówków SOAP do komunikatu żądania SOAP

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

  1. Utwórz usługę integracji zawierającą komponent integracji usług WWW.
  2. Wybierz komponent integracji usługi WWW i kliknij kartę Zmienne znajdującą się powyżej obszaru diagramu.
  3. 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.
  4. 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;
  5. 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.
  6. Zakończ definiowanie integracji usług WWW.
  7. Uruchom usługę integracji przez kliknięcie opcji Uruchom usługę i sprawdź, czy nagłówki SOAP są dodawane do komunikatu żądania.