
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.
- 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.
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:
- 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).
- Zmiany dokonane w Konsoli administracyjnej na poziomie eksportu/importu.
- Zmiany dokonane w Konsoli administracyjnej na poziomie metody eksportu lub importu.
- Adres docelowy określony za pośrednictwem odwołania punktu końcowego lub nagłówka obiektu SMO.
- Dynamicznie nadpisywany adres URL, wersja i metoda z komunikatu SCA.
- Informacje w nagłówku i informacje kontrolne z procedury obsługi danych lub powiązania danych (najwyższy priorytet).
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.
| 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 |