我已将CXF Web服务实现从Apache CXF 2.0.12升级到2.2.7,现在我无法从远程计算机连接。
http://localhost:9000/Data?wsdl
适用于已安装的计算机。
http://computername:9000/Data?wsdl
来自远程计算机的不再起作用(在升级之前工作)。
使用以下代码在代码(无配置文件)中配置服务:
DataServiceImpl dataImplementor = new DataServiceImpl();
JaxWsServerFactoryBean svrFactory = new JaxWsServerFactoryBean();
svrFactory.setServiceClass(DataServiceImpl.class);
svrFactory.setAddress("http://localhost:9000/Data");
svrFactory.setServiceBean(dataImplementor);
if(intercept) {
svrFactory.getInInterceptors().add(new LoggingInInterceptor());
svrFactory.getOutInterceptors().add(new LoggingOutInterceptor());
}
svrFactory.create();
配置中是否有定义“允许的客户”或类似内容的内容?
答案 0 :(得分:2)
问题是我将Jetty绑定到localhost
而不是0.0.0.0
,这导致无法从远程计算机访问Web服务(因为只绑定了环回适配器)。 / p>
这可能是CXF使用的Jetty版本的变化。