CXF发布服务,WebService缺少标签

发布CXF时遇到一个问题,发布的服务,wsdl文件中没有标签,wsdl文件如下:



  
    
  
    
    
      
      
        
      
      
        
      
    
  
  
    
      
    
  
对比别的wsdl文件,发现多了 wsdl:import,将其地址复制到浏览器地址栏,发现里面是丢失的两个标签,这才发现不是丢失,而是包含在wsdl:import标签里面。

仔细查找原因:实现类中标明了命名空间@WebService(targetNamespace=“com.oristartech.sms.core.ws.server"),接口类未标明命名空间@WebService())

解决方案:将接口类和实现类标注命名空间,两者保持一致即可。

接口类代码:

@WebService(targetNamespace = "com.oristartech.sms.core.ws.server")
public interface DispatchService {

	public String isSwitchHall(@WebParam(name="isSwitch")String isSwitch);
	
}
实现类代码:

@WebService(endpointInterface = "com.oristartech.sms.core.ws.server.DispatchService", 
	targetNamespace = "com.oristartech.sms.core.ws.server", serviceName="dispatchService")
public class DispatchServiceImpl implements DispatchService {

	public String isSwitchHall(@WebParam(name="isSwitch")String isSwitch) {
		System.out.println("===="+isSwitch);
		return "111";
	}
}


你可能感兴趣的:(WebService,CXF)