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