WebServie-使用CXF将wsdl转化为Java

来源:互联网 发布:js中连接符后怎么使用 编辑:程序博客网 时间:2024/05/16 13:43

环境准备

软件 版本 jdk 1.8 apache-cxf-2.7.18 2.7.18 wsdl 待转化wsdl等文件

配置

  • 需要配置JDK环境变量
  • 配置cxf环境变量:
    • CXF_HOME:D:\runtime\apache-cxf-2.7.18
    • PTTH:%CXF_HOME%\bin;
    • CLASSPATH:%CXF_HOME%/lib

检测

cmd中:

wsdl2java 

输出下面的语句则表示正常

Missing argument: wsdlurl

执行命令

参数可以使用 wsdl2java -help查看

wsdl2java yourpath\aa.wsdl

问题

一 GC异常

  • 原因:需要转化的wsdl文件特别大,则需要设置java运行jvm变量,异常:
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceede
  • 解决:在 %CXF_HOME%\bin\wsdl2java.bat 文件中找到相应位置,设置:-Xms2048m -Xmx2048m
"%JAVA_HOME%\bin\java"  -Xms2048m -Xmx2048m -Djava.endorsed.dirs="%CXF_HOME%\lib\endorsed" -cp "%CXF_JAR%;%TOOLS_JAR%;%CLASSPATH%" -Djava.util.logging.config.file="%CXF_HOME%\etc\logging.properties" org.apache.cxf.tools.wsdlto.WSDLToJava %*

二 版本bug

  • 原因:使用 cxf2.7.18 以及jdk1.8,出现文件无法访问的情况

  • 解决:在 %JAVA_HOME%/jre/lib下添加文件jaxp.properties,内容为

javax.xml.accessExternalSchema = all
0 0
原创粉丝点击