Announcement

Collapse
No announcement yet.

HTTP-API: expires Attribute beim logout

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • HTTP-API: expires Attribute beim logout

    Beim Benutzen der HTTP-API stoße ich auf folgendendes Problem:

    Alles funktioniert wunderbar, nur beim Aufrufen der Logout-Funktion (GET /ajax/login?action=logout&session=********) kommt folgender Fehler:

    Code:
    Invalid cookie header: "Set-Cookie: open-xchange-secret-5n5XBE********LTr5QO4g=cd8de71d61b********a8d9eae9b726; expires=Thu, 01 January 1970 12:00:10 GMT; path=/". Unable to parse expires attribute: Thu, 01 January 1970 12:00:10 GMT
    Ist das ein Bug und hängt ggf. mit dem expires-Attribut-Problem zusammen, das ja auch bereits beim Thunderbird-Oxtender existiert? Oder übersehe ich etwas?
    Last edited by oliver.meimberg; 10-06-2010, 09:05 AM.

  • #2
    Das Cookies sieht für mich normal aus. Das Datum ist in der Vergangenheit, damit der Cookie sofort entfernt wird. Wo kommt der Fehler? im Server-Log?

    Comment


    • #3
      Nein, auf Clientseite (apache httpclient). Hier etwas code...

      Code:
      public abstract class OXDao<T extends SyncableItem> extends Dao<T> {
      
      	private static final String OX_URL_BASE = "http://ourserver.form4.de/ajax/";
      	private static final String OX_URL_LOGIN = OX_URL_BASE + "login?action=login";
      	private static final String OX_URL_LOGOUT = OX_URL_BASE + "login?action=logout";
      
      	private HttpClient browser;
      	private String session;
      
              // ...
      
      
      	private JSONObject request(HttpUriRequest req) throws DaoException {
      
      		try {
      			HttpResponse resLogin = browser.execute(req);
      			HttpEntity entLogin = resLogin.getEntity();
      
      			StringBuffer content = new StringBuffer();
      			BufferedReader r = new BufferedReader(new InputStreamReader(entLogin.getContent()));
      
      			String line = "";
      			while ((line = r.readLine()) != null) {
      				content.append(line + "\n");
      			}
      			r.close();
      			return new JSONObject(content.toString());
      		} catch (ClientProtocolException e) {
      			throw new DaoException(e);
      		} catch (IllegalStateException e) {
      			throw new DaoException(e);
      		} catch (IOException e) {
      			throw new DaoException(e);
      		} catch (JSONException e) {
      			throw new DaoException(e);
      		}
      	}
      	private JSONObject get(String url) throws DaoException {
      		return request(new HttpGet(url));
      	}
      
              // ...
      
      	@Override
      	public void close() throws DaoException {
      		try {
      			get(OX_URL_LOGOUT + "&session=" + session);
      		} catch (DaoException e) {
      			// TODO throw new DaoException(e);
      			// Problem: Invalid cookie header:
      			// "Set-Cookie: open-xchange-secret-5n5******VlmLTr5QO4g=cd8de7******58a8d9eae9b726; expires=Thu, 01 January 1970 12:00:10 GMT; path=/".
      			// Unable to parse expires attribute: Thu, 01 January 1970 12:00:10 GMT
      		}
      
      	}
      }

      Comment


      • #4
        Dann würde ich vorschlagen, sich mit den Autoren der Client-Bibliothek in Verbindung zu setzen.

        Comment

        Working...
        X