2017-01-12 14 views
1

페이징 된 결과를 다시 반환 한 hapi fhir 데이터베이스에서 쿼리를 실행했습니다. 그러나 때를, 코드는 지금까지 최초의 번들을 얻는 등의 실행, 예상대로 URL을 출력합니다 http://hapifhir.io/doc_rest_client.html페이징 된 fhir 응답 반복

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); 

: 여기 문서에 따라, 실제로 검색을 수행하는 자바에있는 게요베이스를 사용하고 있습니다 다음 번들을 실행하려고하면 ConnectionException 'Connection refused : connect'가 발생합니다.

서버는 여전히 응답 성이 있지만 프로그램을 다시 실행하여 동일한 결과를 반환 할 수 있습니다.

연결이 거부되는 이유는 무엇입니까? 우편 배달부에서 수동으로 실행하려고하면 비슷한 문제가 발생합니다.

답변

0

누구나이 문제를 우연히 발견합니다. 나는 일종의 리다이렉션을 진행했다 (다른 팀 멤버가 설치). 본질적으로 내 기본 URL은 localhost : 8080 이었지만 다음 주소는 localhost : 1080으로 반환되었습니다 (그 이유를 완전히 이해하지 못함).

그는 리디렉션하지 않도록 서버의 구성을 변경했습니다.

2

당신이하고있는 일이 분명해 보입니다. 수동으로 검색을 수행하면 (예 : 브라우저 또는 우편 배달부 등을 사용하여) 다음 링크의 모습은 어떻습니까? 브라우저에서 직접 링크를 사용하면 제대로 작동합니까? 예를 들어

, 내 컴퓨터에 로컬로 CLI를 실행하고 나는 응답에서 다음을 참조하여 검색을 실행하는 경우 :

"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" 
} 
], 

을 나는 브라우저에 다음 링크 (http://localhost:8080/baseDstu3?_getpages=d8454866-624d-4bb3-b7a0-0858e4870e7e&_getpagesoffset=10&_count=10&_pretty=true&_bundletype=history)를 연결하는 경우, I 다음 페이지 가져 오기.

시도해 볼 수 있습니까?