Standardowo chciałem użyć HttpURLConnection, ale złośliwie Sun zabronił korzystania z metod innych niż wielka 7, czyli "GET", "POST", "HEAD", "OPTIONS", "PUT", "DELETE" i "TRACE".
Wrrr... Logika jakaś za tym stoi, w końcu to HttpURLConnection, ale jednak miło by było gdyby pozwalała ta klasa na proste jej wykorzystanie do niecnych celów.
Na razie w celach testowych postanowiłem to obejść w bardzo nieelegancki sposób ;-)
Zamiast:
conn.setRequestMethod("PROPFIND");
Które powoduje wylecenie wyjątku "java.net.ProtocolException: Invalid HTTP method: PROPFIND" używam takiej brzydkiej plomby:
try {
Field field = conn.getClass().getDeclaredField("method");
field.setAccessible(true);
field.set(conn, "PROPFIND");
} catch (Exception e) {
}
Jak na razie działa, dostaję od serwera XMLa, już zaczynam go nawet "obrabiać" choć chyba wcześniej pójdę spać ;-)
Sposób ma wadę bo jest przywiązany do konkretnej maszyny wirtualnej, ale działa, a to mi jest potrzebne do testów :-)
Podobne postybeta
Toperz ;-) czyli OCR + Android odsłona 2 albo któraś tam
Wredne Google Docs
Linux to jednak fajny jest ;-)
Głupi macOS, głupi WebDAV, głupi ChatGPT ;-)
Programowanie trudne ;-)
Brak komentarzy:
Prześlij komentarz