当前位置: 首页 > 知识库问答 >
问题:

wsimport生成的代码-打包代码的最佳实践

李意致
2023-03-14

我有一个关于用wsimport工具生成Java工件的问题(by Maven Jax-WS)

当我从WSDL生成Java工件时,我希望将web服务项目打包为WAR文件,将其客户机打包为JAR文件。

在哪里放置生成的工件,在哪里放置WSDL?关于组织Web服务项目的最佳实践是什么?

提前谢谢你!

向你问好,尤里卡·克里扎尼克

共有2个答案

鲜于允晨
2023-03-14

托管服务的打包选项在JSR109:WebServicesforJavaEE版本1.3中定义。

服务:

5.4.2 EJB模块封装

...EJB-JAR文件中的Web服务部署描述符位置是META-INF/webservices。xml。wsdl目录位于META-INF/wsdl

5.4.3 Web应用程序模块包装

... Web服务部署描述符位于WAR中的WEB-INF/webservices.xml,wsdl目录位于WEB-INF/wsdl

对于客户:

客户机可以是以下任意一种:JavaEE应用程序客户机、web组件、EJB组件或其他web服务。

模块中Web服务客户端部署描述符的位置是特定于模块的。WSDL文件相对于模块的根目录,通常位于与模块部署描述符或其子目录共同定位的wsdl目录中。

注意,该规范仅限于JavaEE客户端;这并不意味着您不能有一个非托管客户机,在那里您可以显式地提供WSDL。

有关更多详细信息,请交叉参考这些规范:

  • JSR 244(JAX-WS)
  • JSR 109(与JavaEE集成)
  • JSR 316(JavaEE 6)
徐秋月
2023-03-14

客户端和服务器端都需要工件,因此将它们打包到第三个jar中,并将其设置为两者的依赖项。WSDLs应该转到war的WEB-INF文件夹,并且应该设置@WebService@WebServiceClientwsdlPlace属性来反映它的路径。

 类似资料:
  • 我有一个wsdl url http://www.webservicex.net/geoipservice.asmx?wsdl 因此,假设如果我想在soap web服务(用java编写)中进行更改,生成的文件中的更改将无法达到目的。 可能我的问题对你来说很基本,但我在看一个应用程序代码时遇到了这个困惑,所以请回答我的问题。

  • 打包你的代码,将它共享出去,让其他的开发者使用。例如,将其打包成一个库分享给其他开发者,以便他们用在自己的应用中,或者共享给开发工具,比如 ‘py.test’。 这种代码发布方式具备的优势是其成熟的工具生态系统,例如 PyPI 和 pip,这些工具使得其他的开发者很容易下载和安装你的包,无论是用于偶然的实验,还是将其集成到大型专业的系统中。 Python 代码以这种方式发布共享是一个成熟的惯例。如

  • 本文向大家介绍C#条码生成及打印实例代码,包括了C#条码生成及打印实例代码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C#条码生成及打印的方法,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 问题内容: 我正在编写Android应用程序,此处的最佳方法通常可能与Java相同或不同。 我只是希望能够设置一个调试标志,该标志仅在设置为true时才执行代码的某些部分–等同于C ++设置预处理器#define DEBUG并使用#ifdef DEBUG。 在Java中是否有公认的或最佳的方法来完成此任务? 现在,我只是要在Application对象中设置一个变量,但是我不认为这是最好的方法。 问

  • 本文向大家介绍C++全密码生成的实现代码,包括了C++全密码生成的实现代码的使用技巧和注意事项,需要的朋友参考一下 这里所谓的“全密码”指的是指定字符串中所有可能出现的密码。以字符串“0123456789”为例,可能出现的2位密码会有100个,即L^N个。(L代表字符串的长度,N代表要生成密码的位数)。 第一种方法:递归。这个比较容易理解,每分解出一个字符,设成新串,然后靠到上一个串上即可。代码如

  • 我正在根据参考指南学习使用Map结构。日食验证是 面向Web开发人员的Eclipse Java EE IDE。版本:开普勒服务版本2 pom。xml如下所示,与参考指南相同 它表示在构建项目时将生成实现代码。但是,它似乎不会在目标/生成的源文件夹下生成