Ich benutze die Savon Bibliothek, die wiederum verwendet HTTPI, aber HTTPI betrachtet nur HTTP-Statuscodes 200..299 als erfolgreich. Leider verwendet der SOAP-Server, mit dem ich mich verbinde HTTP 302 gefunden um seine Kunden auf andere URLs umzuleiten. Gibt es eine Möglichkeit, die ich konfigurieren kann? HTTPI HTTP-Weiterleitungen folgen?
Antworten:
1 für die Antwort № 1Ich habe Wasabi-Code gelesen diese Linie, das ruft diese Linie, das ruft diese LinieIch denke, Sie können das Problem mit einer brutalen, aber effektiven konstanten Neudefinition lösen
HTTPI::Response::SuccessfulResponseCodes = HTTPI::Response::SuccessfulResponseCodes.to_a << 302
Sie können die Warnung zur permanenten Neudefinition (Sie können verwenden) ignorieren Kernel.silence_warnings{ ... }
).
Wie auch immer, ich schlage vor, dass Sie eine Ausgabe an httpi; Ich denke, es sollte das erwartete Verhalten sein
2 für die Antwort № 2
Versuchen Sie, für das Anforderungsobjekt "follow_redirect = true" zu verwenden.
request = HTTPI::Request.new
request.follow_redirect= true
...
Hatte gerade das gleiche Problem selbst.
0 für die Antwort № 3
Für jeden, der dazu kommt, wie bei einer Google-Suche. Savon 2.11 unterstützt dies mit einem globalen Konfigurationswert auf dem Client:
follow_redirects: true