Java 在ApacheCXFJAX-RS中,如何启用自动重定向、允许、REL和URI标志?

Java 在ApacheCXFJAX-RS中,如何启用自动重定向、允许、REL和URI标志?,java,jax-rs,cxf,http-redirect,Java,Jax Rs,Cxf,Http Redirect,我使用的是ApacheCXFJAX-RS3.1.11WebClient。我试图让它自动跟踪重定向 这是我的代码(有点简化): 使用此代码,我得到了一个异常: Caused by: java.io.IOException: Relative Redirect detected on Conduit '{http://1.2.3.4:5678}WebClient.http-conduit' on '//1.2.3.4:5678/v1/api' at org.apache.cxf.transport.

我使用的是ApacheCXFJAX-RS3.1.11WebClient。我试图让它自动跟踪重定向

这是我的代码(有点简化):

使用此代码,我得到了一个异常:

Caused by: java.io.IOException: Relative Redirect detected on Conduit '{http://1.2.3.4:5678}WebClient.http-conduit' on '//1.2.3.4:5678/v1/api'
at org.apache.cxf.transport.http.HTTPConduit.convertToAbsoluteUrlIfNeeded(HTTPConduit.java:1857)
at org.apache.cxf.transport.http.HTTPConduit.access$300(HTTPConduit.java:149)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.redirectRetransmit(HTTPConduit.java:1464)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.processRetransmit(HTTPConduit.java:1443)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRetransmits(HTTPConduit.java:1420)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1554)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1356)
... 30 more
现在,查看HttpConductor类的源代码,我可以看到要设置的属性来修复此问题:

 private static final String AUTO_REDIRECT_ALLOW_REL_URI = "http.redirect.relative.uri";
但我无法解决的是,如何使用CXF API设置该属性?
如何更改上述代码以打开此属性?HttpConductor或HTTPClientPolicy上似乎没有任何方法可以打开此设置。

您必须将其置于请求上下文中:

WebClient.getConfig(client).getRequestContext().put("http.redirect.relative.uri", "true");
WebClient.getConfig(client).getRequestContext().put("http.redirect.relative.uri", "true");