早上好
我遇到了一个问题,我有一个URL链接并从中接收肥皂消息。该URL最初是静态的,但最近它将我重定向到另一个URL,所以当我尝试我的应用程序时,它给了我EOF prolog错误。
所以我知道URL的重定向错过了我的应用程序,但我知道我可以让CXF遵循重定向。
我需要的是一个示例,说明我如何使CXf跟随URL的重定向,因为我尝试了我所知道的各种方式,而且我不知道如何制作它,
我正在使用Java EE,JBoss 7
提前谢谢。
答案 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类中找到在客户端配置中设置的其他属性。