Glassfish的ClassCastException异常WebBundleContext和EJBContext的

Glassfish的ClassCastException异常WebBundleContext和EJBContext的

问题描述:

我一直有一个很难得到其部署到GlassFish 3.1.1我不断收到上部署了以下异常简单的Web服务:Glassfish的ClassCastException异常WebBundleContext和EJBContext的

造成的:java.lang.ClassCastException:COM。 sun.enterprise.deployment.annotation.context.WebBundleContext无法转换为com.sun.enterprise.deployment.annotation.context.EjbContext at org.glassfish.webservices.annotation.handlers.WebServiceProviderHandler.processAnnotation(WebServiceProviderHandler.java:158) at org.glassfish.apf.impl.AnnotationProcessorImpl.process(AnnotationProcessorImpl.java:344) ... 42更多

这里是我的WebService类:

@Stateless 
@WebServiceProvider(
    serviceName = "HelloWorldProviderService", 
    portName = "HelloWorldProviderPort", 
    targetNamespace = "http://mydomain.com/wsdl" 
) 
@ServiceMode(value= Service.Mode.PAYLOAD) 
public class HelloWorldProvider implements Provider<Source> 
{ 
    @Override 
    public Source invoke(Source request) 
    { 
     StringWriter requestXmlWriter = new StringWriter(); 

     try 
     { 
      Transformer copier = TransformerFactory.newInstance().newTransformer(); 
      copier.transform(request, new StreamResult(requestXmlWriter)); 
      System.out.println(requestXmlWriter.toString()); 

      return new StreamSource(new StringReader("<HelloBack/>")); 
     } 
     catch (TransformerException e) 
     { 
      throw new RuntimeException("Failed to convert"); 
     } 
    } 
} 

战争布局

|__ WEB-INF 
|   |__ web.xml 
| 
|__ classes 
|  |__ META-INF 
|  |  |__ ejb-jar.xml 
|  | 
|  |__ <classfile> 
| 
|__ lib 
| |__ <empty> 

这适用于使用OpenEJB的我的测试环境,但我需要它来对GlassFish的工作,并建议将是巨大的。

谢谢你使用NetBeans -kurt

?我问,因为这是一个已知的bug,并已在NetBeans 6.9版中修复。尝试升级NetBeans,看看它是否适用于您。

+0

普雷斯顿感谢您的回应,我读了同样的帖子,但我使用Intellij,我所做的是从WebServiceProvider类中删除无状态,因为它在容器内我有资源的引用,所以我能让它工作。我主要感到沮丧的是,在我的测试环境(OpenEJB)中,Stateless与WebServiceProvider注释一起工作,但不在GlassFish中进行生产。我必须修改测试分支中的ejb-jar.xml,并将其声明为无状态bean以访问OpenEJB容器中的资源。 – user1030658