0
我使用apache httpclient 4.5.3和apache httpcore 4.4.6。我需要通过POST调用来调用SOAP WSapache httpclient pfx文件
他们给了我一个pfx证书。我通过配置SOAP UI在SOAP UI中使用它,并且所有工作都非常好。我可以调用WS,它给了我一个回应。所以证书是有效的
现在我想配置apache httpclient做同样的事情。这里我写的代码:
KeyStore clientStore = KeyStore.getInstance("PKCS12");
InputStream instream = Thread.currentThread().getContextClassLoader().getResourceAsStream(keystoreName);
try {
clientStore.load(instream, keyStorePwd.toCharArray());
} finally {
instream.close();
}
SSLContext sslCtx = SSLContext.getDefault();
SSLConnectionSocketFactory sslConnectionFactory = new SSLConnectionSocketFactory(sslCtx);
Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create().register("https", sslConnectionFactory).register("http", new PlainConnectionSocketFactory()).build();
PoolingHttpClientConnectionManager pcm = new PoolingHttpClientConnectionManager(registry);
HttpClientBuilder hcb = HttpClientBuilder.create();
hcb.setConnectionManager(pcm);
CloseableHttpClient httpClient = hcb.build();
通过尝试这段代码,我无法成功调用WS。我敢肯定我错过了一些东西,但我找不到我想要的东西
任何人都可以告诉我如何继续?
谢谢 安杰洛