有关SSL支持的spring集成参考中有章31.10.2,但是我无法使用http:outbound-gateway,我可以知道是否有单向ssl的示例配置与http: outbound-gateway让我有参考?
感谢
答案 0 :(得分:0)
为TCP / IP组件提供了SSL支持,是的,这肯定不适用于HTTP。
Spring Integration HTTP出站网关完全基于Spring Web RestTemplate
。因此,使用SSL可以实现的功能完全适用于Spring Integration HTTP。
我建议您查看HttpComponentsClientHttpRequestFactory
,<int-http:outbound-gateway>
可以通过request-factory
简单地注入HttpClient
。反过来,这个可以提供Apache Common CloseableHttpClient httpClient
= HttpClients.custom()
.setSSLHostnameVerifier(new NoopHostnameVerifier())
.build();
HttpComponentsClientHttpRequestFactory requestFactory
= new HttpComponentsClientHttpRequestFactory();
requestFactory.setHttpClient(httpClient);
。 SSL将在那里配置:
DECLARE @b DATE = '20170918' --put your date here
DECLARE @a DATE
Print('First day of Current Week:')
set @a = dateadd(ww, Datediff(ww,0,@b),0)
Print(@a)
Print('')
Print('Last day of Current Week:')
set @a = dateadd(ww, Datediff(ww,0,@b)+1,-1)
Print(@a)
Print('')
--additional queries
SET @a =dateadd(mm, Datediff(mm,0,@b),0)
Print('First day of Current Month:')
Print(@a)
Print('')
set @a = dateadd(mm, Datediff(mm,0,@b)+1,-1)
Print('Last day of Current Month:')
Print(@a)
Print('')
Print('First day of Last Month:')
set @a = dateadd(mm, Datediff(mm,0,@b)-1,0)
Print(@a)
Print('')
Print('Last day of Last Month:')
set @a = dateadd(mm, Datediff(mm,0,@b),-1)
Print(@a)
Print('')
Print('First day of Last Week:')
set @a = dateadd(ww, Datediff(ww,0,@b)-1,0)
Print(@a)
Print('')
Print('Last day of Last Week:')
set @a = dateadd(ww, Datediff(ww,0,@b),-1)
Print(@a)
答案 1 :(得分:0)
以下是基于Artem Bilan的回复的配置。 需要为SSL定义2个bean
<http:outbound-gateway expected-response-type="java.lang.String"
url="${gateway.host}/SearchAll"
http-method="POST"
extract-request-payload="true"
request-factory="sslFactory">
</http:outbound-gateway>
<!--SSL-->
<bean id="sslFactory" class="org.springframework.http.client.HttpComponentsClientHttpRequestFactory">
<constructor-arg ref="httpClient"/>
</bean>
<bean id="httpClient" class="com.oocl.frm.dmtp.component.ssl.HttpClientFactory" />