【问题标题】:How to Consume a WebService using CXF in Eclipse如何在 Eclipse 中使用 CXF 使用 WebService
【发布时间】:2014-08-19 19:34:50
【问题描述】:

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

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

尝试在我的项目中创建新的 Web 服务客户端时,我无法选择 Apache CXF 作为 WS 运行时(确定按钮被禁用)

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

【问题讨论】:

    标签: java eclipse web-services cxf webservice-client


    【解决方案1】:

    确定按钮被禁用的原因是您没有选择现有的服务器。由于它是一个普通的 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();
    }
    

    【讨论】:

    • 问题解决了。我需要配置服务器
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 2015-01-03
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多