我需要为<int-http:outbound-gateway>
实现https。我的代码如下是否足够?我应该在代码中添加什么?
<int-http:outbound-gateway id="oeactivatedGateway"
url="${trigger.url}" http-method="DELETE" charset="UTF-8"
reply-timeout="${ws.reply.timeout}" mapped-request-headers="Authorization,Content-Type,Accept"
request-channel="channel.authorized.request" reply-channel="channel.reply"
request-factory="requestFactory">
<bean id="requestFactory"
class="org.springframework.http.client.SimpleClientHttpRequestFactory">
<property name="proxy">
<bean id="proxy" class="java.net.Proxy">
<constructor-arg>
<util:constant static-field="java.net.Proxy.Type.HTTP" />
</constructor-arg>
<constructor-arg>
<bean class="java.net.InetSocketAddress">
<constructor-arg value="${http.proxy.address}" />
<constructor-arg value="${http.proxy.port}" />
</bean>
</constructor-arg>
</bean>
</property>
</bean>
实现https"是什么意思?是否允许通过网关执行 HTTPS 请求?与弹簧集成无关。
您只需要遵循标准的Java SSL支持--Djavax.net.ssl.trustStore
和-Djavax.net.ssl.keyStore
。最后,应用程序端将无事可做。
默认情况下,它不依赖于ClientHttpRequestFactory
实现。
即使您可以从应用程序上下文中以某种方式自定义它,例如:
CloseableHttpClient httpClient =
HttpClients.custom()
.setSSLHostnameVerifier(new NoopHostnameVerifier())
.build();
HttpComponentsClientHttpRequestFactory requestFactory =
new HttpComponentsClientHttpRequestFactory();
requestFactory.setHttpClient(httpClient);
它与弹簧集成无关,您可以随意继续您的任何要求。由于一切都是Spring,您将能够将所有内容连接在一起,让您的<int-http:outbound-gateway>
使用HTTPS。