2010-07-08 131 views
1

我有一个Web服务,它基本上是一个用@WebService注解的@Stateless EJB,以及其他JAX-WS相关的注释。我可以在我的机器的glassfish实例上部署这个bean,并通过Glassfish的管理GUI查看它的WSDL。我也可以从SE客户端调用它的方法,没有任何问题。WSDL请求(Glassfish v3)上的WSDL请求消息(HTTP 405)无效

当我将此Web服务部署到任何其他机器中的服务器实例时,我无法再通过glassfish浏览其WSDL,并且客户端无法连接到服务器。所显示的信息是:

无效WSDL请求:http://ip:port/context/serviceEndpoint?wsdl

通过Glassfish的这种请求返回的HTTP错误是405(不允许方法)。

我四处浏览,无法获得与glassfish v3直接相关的任何内容。 Glassfish的第二版bugzilla有问题,这意味着它们已经老了,并且已经被标记为CLOSED/FIXED。

以前有人跑过这个吗?任何有关可能发生的事情的帮助或线索?

在此先感谢!

回答

0

为了那些有可能在某一天遇到这个问题的人:我在目标服务器上安装了OpenSSO。由于许多明显的原因,这是一个类路径冲突问题,它阻止了glassfish生成WSDL。

一旦OpenSSO已被删除的等式,一切工作,因为它应该也是。因此,即使您不是OpenSSO用户,也可以检查您的类路径中是否存在多个Metro实例,或与您的域上的glassfish自己相冲突的任何其他JAX相关库。