我在hapi fhir数据库上运行了一个查询,该数据库已将分页结果返回给我。我在java中使用hapi base来实际进行搜索,按照此处的文档:http://hapifhir.io/doc_rest_client.html
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);
代码运行到获取第一个包,并按预期打印出url,但是当它尝试执行下一个包时,我得到一个ConnectionException'连接被拒绝:连接'。
服务器似乎仍然响应,但我可以重新运行我的程序并返回完全相同的结果。
知道连接会被拒绝的原因吗?当我尝试从邮递员手动运行时,我遇到了类似的问题。
答案 0 :(得分: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
)插入浏览器,我会看到下一页。
你可以尝试一下,看看它是怎么回事?
答案 1 :(得分:0)
以防万一有人偶然发现这一点。我进行了某种重定向(由我团队的另一名成员设置)。基本上我的基本网址是localhost:8080,但是下一个地址是以localhost:1080的形式返回的(我不完全理解为什么)。
他更改了服务器中的配置,使其不重定向。