使用CXF工具将Java类生成WSDL

/**

 * @description 使用CXF工具将Java类生成WSDL

 * @author zhu_qhua

 */

public class Java2WSDL {

private Class<?> className;

public String[] args1, args2, args3;

 

/**

* 构造函数

* @param args

*            要生成WSDL的Java类

*/

public Java2WSDL(Class<?> className) {

this.className = className;

 

// 根据Hello.class生成Hello.wsdl,生成的wsdl文件放在resource目录下

args1 = new String[] { "-wsdl", "-d", "./resource",

this.className.getName() };

// 根据Hello.class生成Hello.wsdl,生成的文件放在根目录下的.example下

args2 = new String[] { "-wsdl", "-cp", "./example",

this.className.getName() };

// 根据Hello.class生成wsdl文件,文件命名为myHello.wsdl,放在根目录下

args3 = new String[] { "-o", "myHello.wsdl", "-wsdl",

this.className.getName() };

}

 

/**

* 构造函数

* @param className

*            要生成WSDL的Java类

* @param wsdlFileName

*            要生成WSDL的文件名称(不包含扩展名)

*/

public Java2WSDL(Class<?> className, String wsdlFileName) {

this.className = className;

 

// 根据Hello.class生成Hello.wsdl,生成的wsdl文件放在resource目录下

args1 = new String[] { "-wsdl", "-d", "./resource",

this.className.getName() };

// 根据Hello.class生成Hello.wsdl,生成的文件放在根目录下的.example下

args2 = new String[] { "-wsdl", "-cp", "./example",

this.className.getName() };

// 根据Hello.class生成wsdl文件,文件命名为myHello.wsdl,放在根目录下

args3 = new String[] { "-o", wsdlFileName + ".wsdl", "-wsdl",

this.className.getName() };

}

 

public void java2WSDL(String[] args) {

JavaToWS javaToWS = new JavaToWS(args);

try {

javaToWS.run();

} catch (Exception e) {

e.printStackTrace();

}

}

 

public static void main(String[] args) {

Java2WSDL java2WSDL = new Java2WSDL(BloodPressureReceiverService.class);

java2WSDL.java2WSDL(java2WSDL.args1);

}

}

你可能感兴趣的:(java)