-d指定要产生代码所在目录
-client 生成客户端测试web service的代码
-server 生成服务器启动webservice的代码
-impl 生成web service的实现代码
-ant生成build.xml文件
-all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.
详细用法见:
一开始使用了CXF的这套工具 , 发现不是很方便,毕竟依赖CXF提供的工具jar包,个人不是很喜欢用 。
后来发现JDK居然也自带了对web service生成java代码的功能,貌似1.6版本开始的,试用后发现效果十分不错,果断投入它的怀抱 。下面作下简单的介绍,以备忘 。
打开jdk下的bin目录 看下能否找到"wsimport.exe"这个文件
一般情况下都会有
如果没有则说明你的JDK不支持这个功能
然后在DOS窗口下输入wsimport 敲回车
如果提示错误的话 说明你的JDK环境变量还没有配好
一句话总结,如果你在dos窗口下输入wsimport正常,就可以
如果OK的话 输入以下命令就可以将wsdl文件生成java文件了
wsimport-keep -p com.llg.ws2 -s g:/ws
参数说明
wsimport 这个是必须的 该工具的名称
wsdl文件
-keep是否生成源文件
-p com.llg.ws2生成后的java包名
-s g:/ws生成后放哪个目录
但是前几天,在对一个第三方提供的web service使用该工具生成java代码的时候,居然出错了,网上查找后终于找到原因 。
使用cxf wsdl2java或javax wsimport工具的时候,可能会遇到关于生成的Response类文件名冲突的问题
Console代码
WSDLToJava Error: Thrown by JAXB : A class/interface with the same name "***" is already in use. Use a class customization to resolve this conflict.
目前可选择的方案:
apache的wsdl2java工具,使用-autoNameResolution自动处理
wsdl2java -autoNameResolution
JDK自带的工具
wsimport -p com.test.client -keep-B-XautoNameResolution
2.如果web service是己方开发的 , 可以修改代码,使用自定义bindings,详细可看sun webservice文档
例如:
Java代码
public interface ValidateCCService
@WebMethod
@WebResult(name = "response")
public ValidateCCResponse validateCC(@WebParam(name = "request")ValidateCCRequest request);
这个情况下定义的方法名,如果使用工具生成客户端代码 , 很可能存在Response冲突,因为定义的wsdl中会有一个关于接口方法的message
wsdl:message name="validateCCResponse"
/wsdl:message
方法名定义的message与接口定义返回的ValidateCCResponse,在工具生成客户端代码时就会产生命名冲突 。
但是通过更改接口方法名为:
Java代码
public interface ValidateCCService
@WebMethod
@WebResult(name = "response")
public ValidateCCResponse validate(@WebParam(name = "request")ValidateCCRequest request);
即可解决该冲突,
怎样用java代码动态生成数据库表Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection("数据库url","帐号","密码");
state=conn.createStatement();
state.executeUpdate("create 建表语句");
state.executeUpdate("insert 插入数据")------插入的值由页面获得,注意字符串拼接 。
然后就是关闭连接,state.close();conn.close();
核心代码就是这些,具体应用你可以多写几个方法(增删改查),都是类似的,注意异常的处理,关闭连接最好在finally中进行 。
关于g代码生成Java和g代码生成器手机版下载的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 计算机毕业设计论文介绍,计算机毕业论文内容
- 查看linux连接命令,查看linux 连接数
- 小程序刷题怎么激活,刷题小程序如何做出来的
- 名人讲无人直播前景,无人直播赚钱吗
- 后退命令linux python后退命令
- es能像mongodb一样存储文件吗,mongodb怎么存储文件
- ppt如何撤销次数,ppt撤销上一步的快捷键
- 玩lol显卡怎么调,打lol显卡设置
- python中算三角函数 python 三角函数