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

W celu dodania nagłówka SOAP do komunikatu żądania można utworzyć zmienną typu SOAPHeader lub SOAPHeaders. Następnie można odwzorować tę zmienną na żądanie nagłówka SOAP.

Procedura

  1. Utwórz przepływ usługi i dodaj zadanie usługi.
  2. Wybierz zadanie usługi, a następnie kliknij kartę Zmienne 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, należy użyć 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.
    • Dodaj kod JavaScript do komponentu skryptu serwera.
    • Kliknij opcję Przed i po , a następnie dodaj kod JavaScript do sekcji Przypisania przed wykonywaniem .
    Poniższy przykład kodu JavaScript inicjuje zmienną prywatną, requestHeader, która jest typu SOAPHeader i zawiera pojedynczą pozycję 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 się upewnić, że przestrzenie nazw są pełne, ponieważ znajdują się na przykładach.
    Uwaga: Należy starać się unikać białych znaków w wartości nagłówka 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 jest typu SOAPHeaders i zawiera wiele nagłówków:
    // Initialize the "subscriptionId" header
    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>";  
    
    // Initialize the "auditLogUUID" header 
    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>";  
    
    // Now add the two headers to the SOAPHeaders variable 
    tw.local.requestHeaders.headers[0] = header1; 
    tw.local.requestHeaders.headers[1] = header2;
  5. Na karcie Odwzorowanie danych widoku Właściwości, w sekcji Odwzorowanie nagłówka wejściowego, dodaj nowo utworzoną zmienną ( requestHeader lub requestHeaders), aby odwzorować ją na nagłówek SOAP żądania.
  6. Zakończ definiowanie integracji usług WWW.
  7. Kliknij Zapisz lub Zakończ edycję.
  8. Uruchom przepływ usługi, klikając opcję Uruchom i upewnij się, że nagłówki SOAP są dodawane do komunikatu żądania.