Camel HTTP 生产者的代理设置
直接配置 Camel HTTP 生产者的代理端点,并将它与 CXF 通道或目标服务区分开来。
对于 Camel 的 HTTP 组件,要把正向代理放在发起出站请求的生产者端点上。在 Camel 4.18 中,RouteBuilder 片段可以这样写:
from("direct:status")
.to("https://service.example.net/status"
+ "?proxyHost=proxy.example.net"
+ "&proxyPort=8080"
+ "&proxyAuthScheme=http");
服务 URL 仍然是目的地。对于无需代理认证、获得许可的公共 API 测试,可以从 HTTP 代理列表中选一个候选来提供中间主机的地址和端口。proxyHost 和 proxyPort 指定中间主机;proxyAuthScheme 选择与之建立连接所用的协议。HTTP 代理可以通过隧道承载 HTTPS 请求。
部署相关的取值请使用属性占位符。如果需要代理认证,组件提供了单独的 proxyAuthUsername、proxyAuthPassword 以及认证方式选项。服务认证使用的是另一组选项。
这项配置属于 camel-http。CXF 通道配置的是 CXF 客户端;它不会仅因为路由中还包含与 SOAP 相关的组件就去配置 HTTP 生产者。同样,ProducerTemplate 只是把消息分派到端点,并不替换该端点的传输配置。
组件级设置可以提供共享的默认值。端点级设置让某条具体路由保持显式。