我已经将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();
配置中是否有定义“允许的客户端”的内容或类似内容?
最佳答案
问题是我将Jetty绑定到localhost
而不是0.0.0.0
上,这导致无法从远程计算机访问Web服务(因为仅绑定了回送适配器)。
这可能是CXF使用的Jetty版本的更改。
关于java - Apache CXF 2.0.12至2.2.7升级问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2536836/