zoukankan      html  css  js  c++  java
  • cxf webservice生成客户端代码及调用服务端遇到的问题

    1、  从网上下载cxf开发的工具 apache-cxf-3.1.4.zip,

           解压文件,找到apache-cxf-3.1.4in目录,里面包含一个wsdl2java文件

    2. 设置环境变量

        1、CXF_HOME=FCXFapache-cxf-3.1.4.

        2、在path后面加上 %CXF_HOME%/bin;

        3.再classpath后面加上%CXF_HOME%/lib;

       在cmd命令中输入wsdl2java,如果有提示usage,就表明配置成功

     3.利用dos命令,生成客户端代码

     wsdl2java相关命令:

    wsdl2java -p com -d D:\src -all xx.wsdl

    -p 指定其wsdl的命名空间,也就是要生成代码的包名:

    -d 指定要产生代码所在目录

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

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

    -impl 生成web service的实现代码

    -ant 生成build.xml文件

    -all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.

    生成代码命令为:(根据获取的wsdl文件生成)

     
     wsdl2java -autoNameResolution -frontend jaxws21 -impl -exsh true -p com.bocom.webservice.client -d G:shengcheng G:shengchengweather.wsdl

    其中-p后面是指定生成代码的报名,-d后是生成代码的磁盘位置及wsdl文件存放的位置

    生成代码时,jdk版本为jdk1.8.0_131,开始使用的CXF版本是apache-cxf-2.7.6 报“    由于 accessExternalSchema 属性设置的限制而不允许 'file' 访问, 因此无法读取方案文档 'xjc.xsd'”,错误,百度了下解决方案,说是在jdk目录下的jrelib下添加一个属性文件jaxp.properties,并写上如下内容javax.xml.accessExternalSchema = all,我试了下问题并没有得到解决,后来更换了apache-cxf-3.1.4版本则生成成功。另外注意java使用cxf调用webservice最少jar包,避免jar包之间的冲突问题。

  • 相关阅读:
    python生成随机密码
    python计算md5值
    python---连接MySQL第五页
    python---连接MySQL第四页
    梯度下降(Gradient Descent)小结
    矩阵的线性代数意义
    矩阵的意义
    偏导数与全导数的关系 以及 偏微分与全微分的关系
    mysql-blog
    python及numpy,pandas易混淆的点
  • 原文地址:https://www.cnblogs.com/wdxg0103/p/8493413.html
Copyright © 2011-2022 走看看