`

使用CXF自动生成webservice客户端代码

    博客分类:
  • CXF
CXF 
阅读更多

首先当前是从官网下载cxf组件.  

  1. http://cxf.apache.org/download.html  

下载后解压,在这里主要是用到解压后的bin目录中的wsdl2java.bat该批处理文件.

 

可以直接进入bin目下,运行wsdl2java,需要注意的他的几个参数

我测试时直接运行的以下命令:

 

wsdl2java -p com.zzzl.webservice.qidian -d d:\cxfoutput\src -all  http://game.qidian.com/RemoteWebService/IPreventIndulge.asmx?wsdl

 

参数说明:

-p 也就是package 对应java中的包

-d 输入目录,生成.java文件会在该目录,会自动添加-p参数配置的包路径

-client 生成客户端测试web service的代码.

-server 生成服务器启动web  service的代码.

-impl 生成web service的实现代码.

-ant  生成build.xml文件.

-all 生成上面-client -server -impl -ant 对应的所有文件.

 

注:

1.如果在调用.NET WebService的时候报( undefinedelement declaration 's:schema'),可参考如下网址:

 http://blog.csdn.net/binbinxyz/article/details/8906717

即是wsdl2java是通过JAXB解析wsdl文件的,JAXB目前还不支持ref 这种元素的解析,故可以根据

http://game.qidian.com/RemoteWebService/IPreventIndulge.asmx?wsdl 此地址另存为.wsdl文件,然后用<s:any minOccurs="2" maxOccurs="2"/>替换wsdl文件中<s:element ref="s:schema" /><s:any />元素。

 

2.通过上面步骤后即可通过wsdl2java命令,生成对应的java代码,然后把另存为的.wsdl文件拷贝到classes目录下对应的java目录下(和生成的Java代码同级)

 

3.当前测试使用apache-cxf-2.6.16成功生成ws客户端代码,cxf可以到百度网盘中下载

 

4.新版本生成的cxf组件生成的代码URL处测试时候会报文件找不到,修改参考如下:

   

static {
        URL url = null;
        try {
            url = new URL("file:SubStation.wsdl");
            //url = new URL("file:d:\SubStation.wsdl"); 正确写法
        } catch (MalformedURLException e) {
            java.util.logging.Logger.getLogger(SubStation.class.getName())
                .log(java.util.logging.Level.INFO, 
                     "Can not initialize the default wsdl from {0}", "file:SubStation.wsdl");
        }
        WSDL_LOCATION = url;
    }

    改成:

static {
        URL url = SubStation.class.getResource("SubStation.wsdl");
        if (url == null) {
            url = SubStation.class.getClassLoader().getResource("SubStation.wsdl");
        } 
        if (url == null) {
            java.util.logging.Logger.getLogger(SubStation.class.getName())
                .log(java.util.logging.Level.INFO, 
                     "Can not initialize the default wsdl from {0}", "SubStation.wsdl");
        }       
        WSDL_LOCATION = url;
    }

 

分享到:
评论

相关推荐

    使用cxf wsdl2java生成webservice客户端

    使用cxf wsdl2java生成webservice客户端命令

    cxf生成webservice客户端

    在标题和描述中提到的“cxf生成webservice客户端”是指利用CXF的工具从WSDL文件自动生成Java客户端代码,以便于调用Web服务。 生成Web服务客户端的步骤如下: 1. **获取WSDL文件**:Web服务通常会公开一个WSDL文件...

    cxf的webservice的客户端代码

    在这个“cxf的webservice的客户端代码”主题中,我们将深入探讨如何使用CXF框架来构建一个能够与Web服务交互的客户端。 首先,创建CXF Web服务客户端的核心在于理解服务代理的生成。CXF提供了WSDL2Java工具,可以从...

    使用axis自动生成webservice客户端代码.docx

    【使用Axis自动生成WebService客户端代码】是Web服务开发中的一个重要环节,主要涉及到Axis工具、MyEclipse集成环境、Tomcat服务器以及JDK的版本。在本文中,我们将深入探讨如何利用Axis工具为Java应用程序生成与...

    使用DOS 生成webservice 客户端代码 (CXF)

    例如,对于CXF,你可以使用`cxf-codegen-plugin`,这是一个Maven插件,可以自动生成Java客户端代码。以下是基本步骤: 1. **设置环境变量**:确保你的PATH环境变量包含了CXF的bin目录,这样你可以在任何地方运行CXF...

    CXF生成ws客户端代码

    本文将详细介绍如何使用CXF的“wsdl2java”工具来生成Webservice客户端代码。 #### 二、基础知识 ##### 1. WSDL(Web Service Description Language) WSDL是一种用于描述Web服务的标准格式。它定义了服务的抽象...

    cxf 开发webservice客户端

    2. 生成客户端代码:CXF提供了一个工具,可以基于WSDL(Web服务描述语言)文件自动生成客户端代理类。运行以下命令: ```bash java -jar cxf-codegen-plugin-3.4.x.jar -wsdl ...

    CXF客户端,自动生成方式

    当我们谈论“自动生成”CXF客户端时,通常是指利用IDE中的功能,根据服务的WSDL(Web Service Description Language)文档,自动生成对应的客户端代码。在MyEclipse这样的IDE中,这个过程相当直观。以下是具体步骤:...

    CXF动态webservice客户端demo

    以下是使用CXF生成动态客户端的步骤: 1. **获取WSDL**:首先,你需要知道服务的WSDL URL,这是定义Web服务接口、操作、消息和绑定的规范。你可以从服务提供商那里获得或者在线查找。 2. **创建服务代理**:使用...

    cxf开发webservice客户端和服务器端文档

    cxf开发webservice客户端和服务器端 cxf(Apache CXF)是一款开源的WebService框架,用于开发webservice...使用CXF开发WebService客户端和服务器端可以提高开发效率和安全性,并且可以与其他异构系统进行互操作。

    WebService开发客户端 cxf方式

    2. **生成客户端代码**:使用CXF的wsdl2java工具,可以基于WSDL生成Java客户端 stubs和代理类。这些类包含了调用服务的方法。命令行示例如下: ``` wsdl2java -d ./src http://example.com/service?wsdl ``` 3. ...

    WebService之CXF(二、客户端的生成与调用)

    在CXF中,我们可以使用WSDL2Java工具从WSDL文件自动生成客户端代码。这个过程包括以下步骤: 1. **获取WSDL文件**:服务提供者通常会公开一个WSDL URL,你可以通过浏览器访问或直接从服务提供者处获取。 2. **使用...

    CXF 一个完整的webService(整合客户端和服务端)

    - **客户端代理**:CXF自动生成客户端代码,方便调用服务。 **2. 创建Web服务端** 在CXF中,服务端的开发通常涉及以下步骤: 1. 定义服务接口:使用Java接口定义服务方法。 2. 实现服务接口:编写具体的业务逻辑...

    apache-cxf-2.7.18.rar

    cxf自动生成webservice客户端,apache-cxf-2.7.18最稳定的版本 apache cxf 框架wsdl2java命令的使用。 -encoding是指定编码类型; -p 指定包名 -d 指定生成目录 -all生成服务端和客户端代码 -...

    利用wsdl2java工具和SoapUI工具生成webservice的客户端代码 SpringBoot实现登陆验证调用.rar

    利用wsdl2java工具和SoapUI工具生成webservice的客户端代码 Java实现登陆验证调用 压缩包里包括需要的所有文件,供需要的同学使用 1.apache-cxf-3.3.7 2.SoapUI 5.4.0-EB 3.生成代码的教程 4.获取service调用的...

    cxf开发webservice客户端

    3. **使用CXF生成客户端代码** - **命令行方式**:通过CXF的wsdl2java命令,可以将WSDL转换为Java代码。例如: ``` cxf-codegen-plugin -wsdlLocation ...

    CXF webservice 动态地址客户端相关代码和jar包

    总之,CXF Webservice动态地址客户端允许应用程序在不修改代码的情况下适应服务位置的变化,提高了系统的灵活性和可维护性。正确理解和使用这些特性对于构建健壮、可扩展的分布式系统至关重要。

    根据wsdl地址或文件生成webservice客户端

    本文将深入探讨如何根据WSDL地址或文件生成WebService客户端,这是一项在开发过程中经常遇到的任务。 首先,理解WSDL文件是关键。WSDL文件是XML文档,它定义了一个服务的端点(即URL)、服务提供的操作(或方法)、...

    03.使用CXF开发WebService客户端

    在IT行业中,Web Service是一种基于网络的、松散耦合的软件组件交互方式,它允许不同的应用...使用CXF开发WebService客户端.wmv"会更深入地展示这一过程,提供实际操作的步骤和示例,帮助你更好地理解和掌握这项技术。

Global site tag (gtag.js) - Google Analytics