既然做到需要class对象生成wsdl文件这一步,说明前面已经完成了SOAP服务的开发,服务端已经开发完成,现在需要的是将开发好的接口类class文件转成wsdl提供给用户使用;
1、引用jar包,webservice开发需要的jar包前面肯定都在网上找到了资料,也引入成功了,现在生成wsdl也需要一个特殊的jar包;(我前面SOAP通信服务也写好了,但是使用对应的jar包就是没法生成wsdl文件,百度了大半天,终于找到生成失败的原因,就是jar包未正确引用导致)
<dependency> <groupId>org.codehaus.woodstox</groupId> <artifactId>stax2-api</artifactId> <version>3.1.1</version> </dependency>
2、测试生成wsdl文件的代码:
import org.apache.cxf.tools.java2ws.JavaToWS; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; /** * Created by Administrator on 2017/8/24 0024. */
public class SurveyServiceClient { /** * <一句话功能简述> * <功能详细描述> * @see [类、类#方法、类#成员] */ public static void main(String[] args) throws Exception { SurveyServiceClient.java2WSDL(); System.out.println("没抛异常,WSDL文件生成成功!"); } public static void java2WSDL(){ String[] str = new String[]{"-wsdl","-d","./resources",WsVehicleElementDto.class.getName()}; JavaToWS javaToWS = new JavaToWS(str); try { javaToWS.run(); } catch (Exception e) { e.printStackTrace(); } } }
以上的方法就可以将对应的接口类生成了wsdl文件了;
以上内容是从网上搜索过来,然后自己亲自验证,稍作整理!