CXF遵循重定向的URL

时间:2014-11-06 08:04:42

标签: java-ee redirect soap cxf jboss7.x

早上好

我遇到了一个问题,我有一个URL链接并从中接收肥皂消息。该URL最初是静态的,但最近它将我重定向到另一个URL,所以当我尝试我的应用程序时,它给了我EOF prolog错误。

所以我知道URL的重定向错过了我的应用程序,但我知道我可以让CXF遵循重定向。

我需要的是一个示例,说明我如何使CXf跟随URL的重定向,因为我尝试了我所知道的各种方式,而且我不知道如何制作它,

我正在使用Java EE,JBoss 7

提前谢谢。

2 个答案:

答案 0 :(得分:3)

默认情况下,在CXF HTTP管道中的HTTP客户端策略中未启用自动重定向。

使用代码:

SOAPService service = new SOAPService(wsdl, serviceName);
WsdlInterfaceClass port = service.getPort(portName, WsdlInterfaceClass.class);
Client client = ClientProxy.getClient(port);
HTTPConduit http = (HTTPConduit) client.getConduit();
final HTTPClientPolicy policy = httpConduit.getClient();
policy.setAutoRedirect(true);

使用Spring:

<http:conduit name="{http://apache.org/hello_world}HelloWorld.http-conduit">

  <-- .. -->

  <http:client AutoRedirect="true" Connection="Keep-Alive"/>

</http:conduit>

答案 1 :(得分:0)

要为Apache CXF JAX-RS客户端启用自动重定向,请将http.autoredirect属性添加到JAX-RS客户端配置。

client.property(“ http.autoredirect”,true);

可以在org.apache.cxf.jaxrs.client.spec.ClientImpl类中找到在客户端配置中设置的其他属性。