您的位置:首页 > 其它

根据命令行生成cxf客户端

2015-09-15 14:00 375 查看
根据命令行生成cxf客户端:

1. 首先确保自己的wsdl文件可以打开。

2. 下载apache-cxf-2.6.1.gz,可以到 http://cxf.apache.org/download.html 去下载最新的 Apache CXF 包,下载好后解压到某个目录中

3. 按ctrl+R,输入cmd,打开dos窗口。



进入apache-cxf-2.6.1\bin目录下



参数说明:
wsdl2java -p包名 -d生成文件路径
-verbose "wsdl文件路径"

-p 也就是package 对应java中的包
-d 输入目录,生成.java文件会在该目录,会自动添加-p参数配置的包路径
-client 生成客户端测试web service的代码.
-server 生成服务器启动web service的代码.
-impl 生成web service的实现代码.
-ant 生成build.xml文件.
-all 生成上面-client -server -impl -ant 对应的所有文件.
输入上述命令会在 D:work/hrss_client/src下生成文件夹com/fortunes/hrss/cxf/client
然后将文件夹复制到项目中,我生成的目录如下:



编写一个测试类测试客户端:



其中SERVICE、CxfWsdlPort可在生成的客户端代码中查找。

public final static QName SERVICE = new QName("http://cxf.hrss.fortunes.com/", "CxfWsdlService");
public final static QName CxfWsdlPort = new QName("http://cxf.hrss.fortunes.com/", "CxfWsdlPort");
public static void main(String[] args) {
//wsdlURL已绑定在生成的类中
CxfWsdlService preventIndulge = new CxfWsdlService(CxfWsdlService.WSDL_LOCATION, SERVICE);
//对应接口
CxfWsdl cxfs=preventIndulge.getCxfWsdlPort();

//调用对应方法
System.out.println(cxfs.getCurrentEnrollment("10"));
}


注:我的cxf实现类的注解如下:

@WebService(endpointInterface = "com.fortunes.hrss.cxf.CxfWsdl" ,targetNamespace="http://cxf.hrss.fortunes.com/",portName="HTTP_Port")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: