Sounds like a class loader issue.
您需要在GlassFish JAXB jar之前使用WEB-INF / lib JAXB jar.
或更改您的应用程序以使用GlassFish 3.1.2捆绑的版本.
Servlet规范说,Web应用程序在委派给父级之前应使用本地类加载器.我认为默认情况下,GlassFish委托给Web应用程序的父类加载器.使用< class-loader委托人=“ false” />在web.xml或glassfish-web.xml中.
请注意,如果这样做不起作用,可能还有其他方法可以修改GlassFish中的类加载器.
在部署到许多应用程序服务器期间,这种类型的问题很常见.
在过去的5年中,我每天都使用GlassFish,并且经常看到这种情况.
最近在CloudBees上部署到JBoss时遇到了类似的问题,并相应地修改了部署描述符.
对以下psed评论的回应
EJB接口必须位于Web模块和EJB模块共享的类路径层次结构中.如果在WEB-INF / lib中有一个EJB接口jar,并且在EJB模块类路径上有该EJB接口jar的另一个副本,则在将Web应用程序注入/定位EJB时,将得到ClassCastException.我认为WebServices有相同的问题.通过EAR共享EJB接口jar可以解决此问题.请注意,可能还有其他我不知道的问题