2017-10-18 140 views
1

在Apache CXF的wsdl_first示例中,pom文件将wsdl文件放入WEB-INF /中。同样,src/main/resources中的所有xml文件和wsdl文件都以WEB-INF/classes结尾,因为它们位于src/main/resources中。为什么wsdl文件必须在WEB-INF(在Apache CXF中)?

我在tomcat中部署webapp。

我的问题是:当我从WEB-INF中删除wsdl文件并从WEB-INF/classes中删除xml文件和wsdl文件(并重新启动Tomcat)时,webapp仍然有效。为什么pom文件将wsdl文件显式放入WEB-INF?为什么WEB-INF/classes中的xml文件和wsdl文件?

在src/main/webapp中有web.xml和cxf-servlet.xml。他们最终在WEB-INF /中。当我删除它们时,事情就会出错。

回答

0

所以记住WSDL是服务接口的官方定义。换句话说,如果你想为SOAP服务创建一个客户端,你需要一个WSDL。您可以使用此WSDL为客户端生成代码工件。它与从WSDL生成服务器几乎完全相似。

现在WEB-INF文件夹已发布,并且WSDL在其中时也会发布。这将允许客户端访问WSDL。但是,服务运行不需要WSDL。因此我们可以删除WSDL。

当您通过公共浏览保护服务时,通常会删除WSDL。这将消除任何人只要掌握服务定义的能力。

记住WSDL只是用来产生各种语言如Java,净等

但是它并不需要一个SOAP服务器或客户端运行的文物定义。仅用于代码生成。

相关问题