CXF 服务代理与前向代理是不同对象
理解 CXF HTTPConduit 上的网络代理策略,并将其与生成的服务对象和目标授权区分开。
CXF 生成的服务代理是执行 SOAP 调用的 Java 对象。前向代理是承载这些 HTTP 连接的网络中间人。即使某个错误把两者都称为代理,它们仍是不同的对象。
网络选择由被调用客户端的 HTTP 传输策略表示:
| 策略字段 | 作用 |
|---|---|
ProxyServer | 中间主机。 |
ProxyServerPort | 其监听端口。 |
ProxyServerType | 该传输所期望的代理类型。 |
NonProxyHosts | 豁免该代理策略的目标。 |
对于 HTTP JAX-WS 客户端,底层 CXF 客户端会暴露一个 HTTPConduit,其策略可通过受支持的代码或部署路径进行配置。请保留应用已应用的其他策略值。对于允许使用公共路由的 HTTP 策略,HTTP 代理列表 提供候选主机和端口值。
CXF 将代理授权与目标授权分开。来自中间人的 来自中间人的 407 不会要求服务对象的应用登录。
在调整 conduit 示例之前,先确认当前使用的 CXF 版本和传输方式。字段或 XML 元素只有在属于该客户端实际使用的配置路径时,才会影响请求。