Eine HTTP-Sitzung für alle SOAP-Aufrufe beibehalten

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 1 Minute Lesedauer
  • Wenn ein SOAP-Client in kurzer Zeit viele Aufrufe durchführt, möchten Sie möglicherweise eine einzige HTTP-Sitzung für alle SOAP-Aufrufe wiederverwenden.

    Jeder SOAP-Aufruf erstellt eine neue Benutzersitzung, die bis zu ihrem Ablauf bestehen bleibt. Um eine einzelne Benutzersitzung zu erstellen und für alle eingehenden SOAP-Aufrufe wiederzuverwenden, entwickeln Sie Ihren SOAP-Client gemäß den folgenden Richtlinien:
    • Verwenden Sie ein Modul wie HTTP::Cookies, um eine „Cookie-Jar“ zu erstellen.
    • Speichern Sie die von ServiceNow zurückgegebenen Cookies nach jeder Anforderung (automatisch von HTTP::Cookies behandelt).
    • Senden Sie die Cookies in der Cookie-Jar bei jeder nachfolgenden Anforderung erneut.
    Hinweis:
    Wenn Sie die hohe Sicherheitseinstellung für die Sitzungsrotation aktiviert haben, wird die vom Server mit der ersten Antwortkopfzeile zurückgegebene JSESSIONID sofort ungültig. Die zweite Antwort enthält eine neue JSESSIONID.
    In Perl können Sie Cookies mit folgendem Code automatisch speichern und senden:
    use HTTP::Cookies;
    
    #we want to store and re-send cookies
    my $cookies = HTTP::Cookies->new(ignore_discard => 1);
    
    my $soap = SOAP::Lite
        -> proxy('http://localhost:8080/glide/ecc_queue.do?SOAP');
    
    #Set the cookie jar
    $soap->transport->cookie_jar($cookies);