This topic applies only to the IBM Business Process Manager Advanced configuration.

Nagłówki HTTP

Powiązania importu i eksportu HTTP pozwalają, aby konfiguracja nagłówków HTTP oraz ich wartości były używane na potrzeby komunikatów wychodzących. Import HTTP używa tych nagłówków na potrzeby żądań, a eksport HTTP używa ich na potrzeby odpowiedzi.

Statycznie skonfigurowane nagłówki i informacje kontrolne są nadrzędne w stosunku do wartości ustawianych dynamicznie w czasie wykonywania. Jednak dynamicznie nadpisywane wartości kontrolne adresu URL, wersji i metody przesłaniają wartości statyczne, które są w przeciwnym razie uznawane za domyślne.

Powiązanie obsługuje dynamiczny rodzaj adresu URL importu HTTP, określając wartość docelowego adresu URL protokołu HTTP, wersję i metodę w czasie wykonywania. Te wartości są określane poprzez wyodrębnianie wartości odwołania punktu końcowego, dynamicznie nadpisywanego adresu URL, wersji oraz metody.
  • W przypadku odwołania punktu końcowego należy użyć funkcji API com.ibm.websphere.sca.addressing.EndpointReference lub ustawić pole /headers/SMOHeader/Target/address w nagłówku obiektu SMO.
  • W przypadku dynamicznie nadpisywanego adresu URL, wersji i metody, należy użyć sekcji parametrów sterujących protokołu HTTP w komunikacie SCA (Service Component Architecture). Należy zauważyć, że dynamicznie nadpisywany adres URL ma pierwszeństwo w kolejności wykonywania operacji przed docelowym odwołaniem punktu końcowego. Z kolei odwołanie punktu końcowego ma zastosowanie w wielu powiązaniach, a więc jest uznawane za preferowane podejście i należy go używać tam, gdzie to możliwe.
Uwaga: Informacje na temat wywoływania dynamicznego oraz konkretne informacje dotyczące formatu adresu URL, składni i sposobu użycia zawiera sekcja pojęć pokrewnych.

Informacje kontrolne i informacje w nagłówku dla komunikatów wychodzących w powiązaniach eksportu i importu HTTP są przetwarzane w następującej kolejności:

  1. Informacje w nagłówku i informacje kontrolne z wyjątkiem dynamicznie nadpisywanego adresu URL protokołu HTTP, wersji i metody z komunikatu SCA (najniższy priorytet).
  2. Zmiany dokonane w Konsoli administracyjnej na poziomie eksportu/importu.
  3. Zmiany dokonane w Konsoli administracyjnej na poziomie metody eksportu lub importu.
  4. Adres docelowy określony za pośrednictwem odwołania punktu końcowego lub nagłówka obiektu SMO.
  5. Dynamicznie nadpisywany adres URL, wersja i metoda z komunikatu SCA.
  6. Informacje w nagłówku i informacje kontrolne z procedury obsługi danych lub powiązania danych (najwyższy priorytet).
Eksport i import HTTP wypełniają nagłówki wychodzące i parametry sterujące danymi z komunikatu przychodzącego (HTTPExportRequest i HTTPImportResponse) tylko, jeśli propagacja nagłówków protokołów jest ustawiona na wartość True. Eksport i import HTTP odczytują i przetwarzają nagłówki wychodzące i parametry sterujące (HTTPExportResponse i HTTPImportRequest) tylko, jeśli propagacja nagłówków protokołów jest ustawiona na wartość True.
Uwaga: Zmiany wprowadzone przez procedury obsługi danych lub powiązania danych do nagłówków lub parametrów sterujących w odpowiedzi importu lub żądaniu eksportu nie będą miały wpływu na instrukcje przetwarzania komunikatu wewnątrz powiązania importu lub eksportu i powinny być używane tylko w celu propagowania zmodyfikowanych wartości do zagnieżdżonych komponentów SCA.

W ramach usługi kontekstu jest wykonywane propagowanie kontekstu (w tym nagłówków protokołów, takich jak nagłówek HTTP, i kontekstu użytkownika, na przykład identyfikatora konta) w ścieżce wywołań SCA. Podczas programowania w produkcie IBM Integration Designer użytkownik może kontrolować propagowanie kontekstu za pośrednictwem właściwości importu i eksportu. Więcej szczegółów można znaleźć w informacjach na temat powiązań importów i eksportów w dokumentacji produktu IBM Integration Designer.

Dostarczane struktury nagłówka HTTP i obsługa

Tabela Tabela 1 przedstawia parametry żądania/odpowiedzi dla żądań i odpowiedzi importu HTTP i eksportu HTTP.

Tabela 1. Dostarczane informacje nagłówka HTTP
Nazwa elementu sterującego Żądanie importu HTTP Odpowiedź importu HTTP Żądanie eksportu HTTP Odpowiedź eksportu HTTP
URL (adres URL) Zignorowano Nieustawiony Odczytywany z komunikatu żądania.
Uwaga: Łańcuch zapytania również stanowi część parametru sterującego adresu URL.
Zignorowano
Version (wersja; możliwe wartości: 1.0, 1.1; wartość domyślna: 1.1) Zignorowano Nieustawiony Odczytywany z komunikatu żądania Zignorowano
Method (metoda) Zignorowano Nieustawiony Odczytywany z komunikatu żądania Zignorowano
Dynamic Override URL (dynamicznie nadpisywany adres URL) Jeśli jest ustawiony w procedurze obsługi danych lub powiązaniu danych, nadpisuje adres URL importu HTTP. Zapisywany w komunikacie w wierszu żądania.
Uwaga: Łańcuch zapytania również stanowi część parametru sterującego adresu URL.
Nieustawiony Nieustawiony Zignorowano
Dynamic Override Version (dynamicznie nadpisywana wersja) Jeśli jest ustawiony, nadpisuje wersję importu HTTP. Zapisywany w komunikacie w wierszu żądania. Nieustawiony Nieustawiony Zignorowano
Dynamic Override Method (dynamicznie nadpisywana metoda) Jeśli jest ustawiony, nadpisuje metodę importu HTTP. Zapisywany w komunikacie w wierszu żądania. Nieustawiony Nieustawiony Zignorowano
Media Type (typ nośnika; ten parametr sterujący przenosi część wartości nagłówka HTTP Content-Type) Jeśli jest obecny, jest zapisywany w komunikacie jako część nagłówka Content-Type.
Uwaga: Wartość tego elementu sterującego powinna być udostępniana przez procedurę obsługi danych lub powiązanie danych.
Odczytywany z komunikatu odpowiedzi, nagłówka Content-Type Odczytywany z komunikatu żądania, nagłówka Content-Type Jeśli jest obecny, jest zapisywany w komunikacie jako część nagłówka Content-Type.
Uwaga: Wartość tego elementu sterującego powinna być udostępniana przez procedurę obsługi danych lub powiązanie danych.
Character Set (zestaw znaków, domyślnie: UTF-8) Jeśli jest obecny, jest zapisywany w komunikacie jako część nagłówka Content-Type.
Uwaga: Wartość tego elementu sterującego powinna być udostępniana przez powiązanie danych.
Odczytywany z komunikatu odpowiedzi, nagłówka Content-Type Odczytywany z komunikatu żądania, nagłówka Content-Type Obsługiwany: zapisywany w komunikacie jako część nagłówka Content-Type.
Uwaga: Wartość tego elementu sterującego powinna być udostępniana przez powiązanie danych.
Transfer Encoding (kodowanie przesyłanych danych, możliwe wartości: chunked, identity; wartość domyślna: identity) Jeśli jest obecny, jest zapisywany w komunikacie jako nagłówek i steruje kodowaniem transformowania komunikatu. Odczytywany z komunikatu odpowiedzi Odczytywany z komunikatu żądania Jeśli jest obecny, jest zapisywany w komunikacie jako nagłówek i steruje kodowaniem transformowania komunikatu.
Content Encoding (kodowanie treści, możliwe wartości: gzip, x-gzip, deflate, identity; wartość domyślna: identity) Jeśli jest obecny, jest zapisywane w komunikacie jako nagłówek i steruje kodowaniem ładunku. Odczytywany z komunikatu odpowiedzi Odczytywany z komunikatu żądania Jeśli jest obecny, jest zapisywane w komunikacie jako nagłówek i steruje kodowaniem ładunku.
Content-Length (długość treści) Zignorowano Odczytywany z komunikatu odpowiedzi Odczytywany z komunikatu żądania Zignorowano
StatusCode (kod statusu, wartość domyślna: 200) Nieobsługiwany Odczytywany z komunikatu odpowiedzi Nieobsługiwany Jeśli jest obecny, jest zapisywany w komunikacie w wierszu odpowiedzi.
ReasonPhrase (fraza przyczyny, wartość domyślna: OK) Nieobsługiwany Odczytywany z komunikatu odpowiedzi Nieobsługiwany Wartość kontrolna jest ignorowana. Wartość wiersza odpowiedzi komunikatu jest generowana na podstawie kodu statusu.
Authentication (uwierzytelnianie, zawiera wiele właściwości) Jeśli jest obecny, jest używany do konstruowania nagłówka podstawowego uwierzytelnienia.
Uwaga: Wartość tego nagłówka będzie kodowana tylko w protokole HTTP. W architekturze SCA będzie on dekodowany i przekazywany w formie jawnego tekstu.
Nie dotyczy Odczytywany z nagłówka podstawowego uwierzytelnienia komunikatu żądania. Obecność tego nagłówka nie oznacza, że użytkownik został uwierzytelniony. Uwierzytelnianie powinno być kontrolowane w konfiguracji serwletu.
Uwaga: Wartość tego nagłówka będzie kodowana tylko w protokole HTTP. W architekturze SCA będzie on dekodowany i przekazywany w formie jawnego tekstu.
Nie dotyczy
Proxy (zawiera wiele właściwości: Host, Port, Authentication - uwierzytelnianie) Jeśli jest obecny, jest używany do nawiązywania połączenia za pośrednictwem serwera proxy. Nie dotyczy Nie dotyczy Nie dotyczy
SSL (zawiera wiele właściwości: Keystore - magazyn kluczy, Keystore Password - hasło magazynu kluczy, Trustore - zaufany magazyn kluczy, Trustore Password - hasło zaufanego magazynu kluczy, ClientAuth - uwierzytelnianie klienta) Jeśli jest wypełniony, a docelowy adres URL jest adresem protokołu HTTPS, jest używany do nawiązania połączenia za pośrednictwem protokołu SSL. Nie dotyczy Nie dotyczy Nie dotyczy