ROME parsira bajtove feeda; proxy ruta i račun trebaju pripadati HTTP klijentu. Za odabrani JDK HttpClient fiksni proxy ide na njegov builder:

HttpClient client = HttpClient.newBuilder()
    .proxy(ProxySelector.of(
        new InetSocketAddress("proxy.example", 8080)))
    .build();

Za dozvoljeni test javnog feeda bez proxy autentifikacije zamijenite zamjenski host i port kandidatom sa liste HTTP proxyja. Dodajte autentifikaciju implementacije i ograničenja zahtjeva tom klijentu. Nakon što dobije prihvatljiv odgovor, predajte stream ROME-u:

try (XmlReader reader = new XmlReader(body, contentType)) {
    SyndFeed feed = new SyndFeedInput().build(reader);
}

Moderni uvozi su com.rometools.rome.io.XmlReader i SyndFeedInput. Ovdje je body primljeni InputStream, a contentType je HTTP Content-Type. XmlReader uzima u obzir BOM, te metapodatke i XML deklaraciju. Dekodiranje prvo proizvoljnim charsetom može odbaciti korisne dokaze.

Provjerite HTTP status prije parsiranja. Inače se proxy stranica za prijavu ili odbijanje može pojaviti kao XML greška. Oslobodite tijela i za odbijene odgovore, da HTTP greška ne ostavi stream otvorenim.

Dva izvora feeda mogu koristiti različito konfigurisane klijente bez mijenjanja JVM proxy svojstava između poziva. Svaki HTTP klijent posjeduje svoju rutu, dok ROME posjeduje korak parsiranja.

Povezani članci