werserviceコードによりCXFでWSDLを生成します。


原文:http://hongyegu.iteye.com/blog/619147ありがとうございます

import org.apache.cxf.tools.java2ws.JavaToWS;

import net.bwda.service.Busi.webservice.FileMarkService;

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;   
	          
	        //  class  Hello.wsdl,   wsdl    resource     
	        args1=new String[]{"-wsdl","-d","./resource",this.className.getName()};  
	        //  class  Hello.wsdl,            .example   
	        args2=new String[]{"-wsdl","-cp", "./example",this.className.getName()};  
	        //   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(FileMarkService.class);  
	        java2WSDL.java2WSDL(java2WSDL.args1);  
	    }  
}