是否有任何与客户端愉快的HTTPS调用的示例?
FhirContext ctx = new FhirContext();
IGenericClient client = ctx.newRestfulGenericClient("https://fhirtest.uhn.ca/base");
默认情况下,上述代码将不工作,因为服务器将需要SSL身份验证。
如何将SSL身份验证添加到hapi客户端?
下一个示例展示如何在使用HAPI FHIR客户端时使用https连接到FHIR服务器。请注意,此示例接受所有证书。要使其安全,您应该指定一个信任存储库和一个不同的主机名验证器。
FhirContext ctx = new FhirContext();
KeyStore truststore = null;
SSLContext sslContext = SSLContexts.custom().loadTrustMaterial(truststore, new TrustSelfSignedStrategy()).build();
HostnameVerifier hostnameVerifier = NoopHostnameVerifier.INSTANCE;
SSLConnectionSocketFactory sslFactory = new SSLConnectionSocketFactory(sslContext, hostnameVerifier);
CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(sslFactory).build();
ctx.getRestfulClientFactory().setHttpClient(httpClient);
IGenericClient client = ctx.newRestfulGenericClient("https://fhirtest.uhn.ca/base");