簡體   English   中英

在 SOAP header 中設置 Cookies

[英]Set Cookies in SOAP header

我有一個要求,我需要調用 SOAP Webservice 操作進行登錄並從 SOAP 響應中獲取 cookie,並使用 cookie 調用另一個 SOAP 操作來檢索一些數據。 登錄操作響應有一個 cookie ( Set-Cookie ),它看起來像ASP.NET_SessionId=vqjucdxcxrgg5swr0f3z0peb; 路徑=/; 僅http; SameSite=松懈

現在我如何 map 這個 cookie 來檢索操作。 我做 map ASP.NET_SessionId=vqjucdxcxrgg5swr0f3z0peb; 路徑=/; 僅http; SameSite=Lax完全或只是ASP.NET_SessionId=vqjucdxcxrgg5swr0f3z0peb或只是vqjucdxcxrgg5swr0f3z0peb 我嘗試了所有三個選項,我得到java.lang.IllegalArgumentException:當我調用檢索操作時,端口可能不是負錯誤 如果我做錯了什么,請告訴我。 我正在使用 Tibco BW 來調用 SOAP 操作。

在鏈接https://en.wikipedia.org/wiki/HTTP_cookie中找到我的問題的答案。請閱讀以下內容

Setting a cookie Cookies are set using the Set-Cookie HTTP header, sent in an HTTP response from the web server. This header instructs the web browser to store the cookie and send it back in future requests to the server (the browser will ignore this header if it does not support cookies or has disabled cookies).

例如,瀏覽器發送它對 www.example.org 網站主頁的第一個請求:

GET /index.html HTTP/1.1 主機:www.example.org... 服務器響應兩個 Set-Cookie 標頭:

HTTP/1.0 200 OK
Content-type: text/html
Set-Cookie: theme=light
Set-Cookie: sessionToken=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT

...服務器的 HTTP 響應包含網站主頁的內容。 但它也指示瀏覽器設置兩個cookies。 第一個“主題”被認為是 session cookie,因為它沒有 Expires 或 Max-Age 屬性。 Session cookies 旨在在瀏覽器關閉時被瀏覽器刪除。 第二個,“sessionToken”,被認為是一個持久性 cookie,因為它包含一個 Expires 屬性,該屬性指示瀏覽器在特定日期和時間刪除 cookie。

接下來,瀏覽器發送另一個請求訪問網站上的 spec.html 頁面。 該請求包含一個Cookie HTTP header,其中包含服務器指示瀏覽器設置的兩個cookies:

GET /spec.html HTTP/1.1
Host: www.example.org
Cookie: theme=light; sessionToken=abc123

… 這樣,服務器就知道這個請求和上一個請求有關。 服務器將通過發送請求的頁面來回答,可能在響應中包含更多 Set-Cookie 標頭,以便添加新的 cookies、修改現有的 cookies 或刪除 cookies。

服務器可以通過在響應頁面請求時包含 Set-Cookie header 來修改 cookie 的值。 然后瀏覽器用新值替換舊值。

Cookie 屬性

除了名稱和值之外,cookies 還可以具有一個或多個屬性。 瀏覽器在對服務器的請求中不包含 cookie 屬性——它們只發送 cookie 的名稱和值。 瀏覽器使用 Cookie 屬性來確定何時刪除 cookie、阻止 cookie 或是否向服務器發送 cookie。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM