jboss 4.2.2中的javax.jws.WebService.wsdlLocation

jboss 4.2.2中的javax.jws.WebService.wsdlLocation,java,jboss,web-services,wsdl,Java,Jboss,Web Services,Wsdl,如何具体使用JBoss4.2.2中的javax.jws.WebService.wsdlLocation?(这适用于部署为web服务的EJB3Bean) 有一些文档表明它是受支持的,但具体的格式是什么?我试过http,我试过相对URL。JBoss是如何查找它的,一个URL,EJB类路径上的某个东西,还有其他的东西?您应该看看和相关的问题 从我收集到的信息来看,JBoss在内部使用Metro(RI)实现JAX-WS。对此我不是很确定,但是如果通过wsdllocation属性提供,Metro似乎会使用

如何具体使用JBoss4.2.2中的javax.jws.WebService.wsdlLocation?(这适用于部署为web服务的EJB3Bean)

有一些文档表明它是受支持的,但具体的格式是什么?我试过http,我试过相对URL。JBoss是如何查找它的,一个URL,EJB类路径上的某个东西,还有其他的东西?

您应该看看和相关的问题

从我收集到的信息来看,JBoss在内部使用Metro(RI)实现JAX-WS。对此我不是很确定,但是如果通过wsdllocation属性提供,Metro似乎会使用类加载器读取wsdl,从而使EJB JAR的META-INF/wsdl成为放置wsdl的安全选择。将有助于作为参考

更新

对这一问题的全面概述

更新#2

JAX-WS规范更好地解释了为什么会出现这种情况。在第5.2.5.3节@WebService(wsdlLocation)和元数据的使用中,可以找到说明

端点实现类上wsdlLocation注释元素的值(如果有)必须 必须是相对URL。它指向的文档必须与应用程序一起打包。此外,它必须 遵循下面第5.2.5.4节(“应用规定服务”)中的要求。 此外,它指出

JAX-WS实现必须修补所有wsdl:import和xsd:import的位置属性 本地文档中指向本地文档的语句。实现不能修补任何 其他位置属性。
定义生成的WSDL应该如何显示。

对于EJB3,到JBWS-2206的链接起到了作用。您必须引用META-INF,这是相当令人惊讶的,但这是我没有猜到的隐藏秘密。是的,JAX-WS中有很多东西一眼就看不出来。如果遇到类似的情况,请下载JAX-WS 2.0/2.1规范的副本。顺便说一句,在这种情况下,JAX-WS 2.0规范说明-端点实现类上wsdlLocation注释元素的值(如果有)必须是相对URL。它指向的文档必须与应用程序一起打包。此外,它必须遵循下面第5.2.5.4节(“应用程序指定服务”)的要求,但与什么相关?我看到了,但是META-INF与任何明显的东西都没有关系。我想JBoss的解释是合理的,但并不明显。是的,没错。META-INF在规范中未定义为位置。