2017-01-12 3 views
1

Ich habe eine Abfrage auf eine Hapi Fhir-Datenbank, die zurückgegeben hat ein zurückseitendes Ergebnis zurück zu mir. Ich verwende hapi Basis in Java, um tatsächlich die Suche, nach der Dokumentation hier: http://hapifhir.io/doc_rest_client.htmlIterieren über eine Seite fhir Antwort

Bundle bundle = client.search().forResource(Basic.class).returnBundle(ca.uhn.fhir.model.dstu2.resource.Bundle.class).execute(); 
    do { 

     for (Entry entry: bundle.getEntry()) 
      System.out.println(entry.getFullUrl()); 

     if (bundle.getLink(Bundle.LINK_NEXT) != null) 
      bundle = client.loadPage().next(bundle).execute(); 
     else 
      bundle = null; 
    } 
    while (bundle != null); 

Der Code so weit läuft als das erste Bündel bekommen, und die URLs druckt wie erwartet, aber wenn es versucht, das nächste Bündel auszuführen, bekomme ich eine ConnectionException 'Connection refused: connect'.

Der Server scheint jedoch immer noch reagiert zu sein, wie ich mein Programm erneut ausführen kann und genau das gleiche Ergebnis zurückgegeben.

Irgendeine Idee, warum die Verbindung abgelehnt werden würde? Ich bekomme ein ähnliches Problem, wenn ich versuche, es manuell vom Postboten zu starten.

Antwort

0

Nur für den Fall, dass jemand darüber stolpert. Ich hatte eine Art Umleitung (eingerichtet von einem anderen Mitglied meines Teams). Im Wesentlichen war meine Basis-URL localhost: 8080, aber die nächste Adresse kam als localhost: 1080 zurück (was ich nicht ganz verstehe warum).

Er änderte eine Konfiguration im Server, damit es nicht umgeleitet wird.

2

Was Sie tun, sieht sicherlich richtig aus. Wenn Sie eine Suche manuell durchführen (z. B. mit einem Browser oder Postboten oder was auch immer), wie sieht der nächste Link aus? Und funktioniert es, wenn Sie diesen Link auch direkt in einem Browser verwenden?

Zum Beispiel, wenn ich die CLI lokal auf meinem Rechner laufen, und führen Sie eine Suche ich folgendes in der Antwort zu sehen:

"link": [ 
    { 
    "relation": "self", 
    "url": "http://localhost:8080/baseDstu3/_history" 
}, 
{ 
    "relation": "next", 
    "url": "http://localhost:8080/baseDstu3?_getpages=d8454866-624d-4bb3-b7a0-0858e4870e7e&_getpagesoffset=10&_count=10&_pretty=true&_bundletype=history" 
} 
], 

Wenn ich den nächsten Link-Stecker (http://localhost:8080/baseDstu3?_getpages=d8454866-624d-4bb3-b7a0-0858e4870e7e&_getpagesoffset=10&_count=10&_pretty=true&_bundletype=history) in einen Browser, ich Holen Sie sich die nächste Seite.

Können Sie das versuchen und sehen, wie es geht?