如何在Eclipse中使用CXF来使用WebService

我正在尝试使用Eclipse和Apache CXF使用WEBSERVICE( http://www.detecno.mx/WCFTimbrador/DetecnoPac.svc?wsdl )。

我已经从http://cxf.apache.org/下载了最新的Apache CXF版本(2.5.2),并且已经在Eclipse首选项> Web服务> CXF 2.x首选项中配置了它的位置

在此处输入图像描述

尝试在我的项目中创建新的Web服务客户端时,我无法选择Apache CXF作为WS运行时(禁用“确定”按钮) 在此处输入图像描述

我的项目不是一个动态的Web项目,它与此有关吗? 它是一个普通的Java项目,其JAR包含在其他动态Web项目中。

禁用“确定”按钮的原因是您尚未选择现有服务器。 由于它是普通的Java项目,因此您可能没有或不需要配置服务器。

您也可以在不使用Eclipse向导的情况下创建Web服务客户端,这可能更简单。

使用wsimport命令(在JDK中可用),您可以从WSDL生成所需的Java源文件。

wsimport -s E:\workspace\cxf\src http://www.detecno.mx/WCFTimbrador/DetecnoPac.svc?wsdl 

以下是访问Web服务的方法的示例。

 public static void main(String[] args) { ServiceDetecnoPAC serviceDetecnoPAC = new ServiceDetecnoPAC(); IDetecnoPac port = serviceDetecnoPAC.getPort(IDetecnoPac.class); ((BindingProvider) port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://www.detecno.mx/WCFTimbrador/DetecnoPac.svc?wsdl"); Client client = ClientProxy.getClient(port); org.apache.cxf.endpoint.Endpoint cxfEndpoint = client.getEndpoint(); port.obtenerHoraServidor(); }