一旦使用它生成Java类,是否还需要WSDL?

时间:2017-05-25 09:38:28

标签: java web-services soap intellij-idea wsdl

我刚刚开始研究SOAP,除了它具有用于与SOAP Web服务通信的类的定义之外,我对WSDL在其中的作用一无所知。

我使用IntelliJ' 从WSDL生成Java代码生成我的Java代码。现在,WSDL文档中包含以下代码,我在其中设置了客户端ID和客户端密码

<soap:address location="https://www.somewebservice.com/testEvn/TestService?client_id=XXXX-XXX-XXX&amp;client_password=XXXXXXXXXXXXXXXXX"/>

当我在某个网站上托管我的应用程序时,我不想将WSDL文档放在那里,因为它有上述敏感信息。所以我的问题是,如果我从整个项目中删除WSDL,那么类和方法是否仍然可以工作?

一旦生成类,WSDL是否需要存在? 最好的方法是什么?

2 个答案:

答案 0 :(得分:0)

是的,下次当你要构建你的项目时需要它,然后它将获取重新生成这些类的引用,因为当你运行你的构建它将清理意味着删除项目目录中的所有生成的资源和然后重新生成那些类。我正在考虑将maven作为构建工具。

答案 1 :(得分:0)

如果您从URL下载WSDL,您也可以下载它(只需复制到新文件并将文件更改为.wsdl)并将其存储在项目的某个位置(例如,在src /中)主要/资源或目标),只需从文件路径访问它。这样,您可以防止URL被“泄露”。

但是,如果Web服务的WSDL发生变化,如果您只是在本地存储它,您的程序将无法访问它,因此拥有WSDL URL可能更好。

在任何情况下,当项重新生成时,项目的任何(重新)构建(例如mvn clean install)都需要WSDL。