Java 为什么可以';我不能在ejb模块中创建RESTful web服务吗?

Java 为什么可以';我不能在ejb模块中创建RESTful web服务吗?,java,web-services,Java,Web Services,我正在使用Netbeans 6.8。我可以在我的独立ejb模块中看到创建web服务的选项,但我似乎找不到在ejb模块中创建基于RESTful的web服务的选项。ejb模块中是否存在任何限制,我只能创建基于SOAP的web服务而不能创建RESTful?还是Netbeans 6.8的bug?REST只是HTTP,通常使用servlet实现,因此它自然会添加到WAR文件中,而WAR文件可能会也可能不会使用EJB打包到EAR中 我不相信EJB知道或关心SOAP或REST。EJB使用RMI作为其选择的通信

我正在使用Netbeans 6.8。我可以在我的独立ejb模块中看到创建web服务的选项,但我似乎找不到在ejb模块中创建基于RESTful的web服务的选项。ejb模块中是否存在任何限制,我只能创建基于SOAP的web服务而不能创建RESTful?还是Netbeans 6.8的bug?

REST只是HTTP,通常使用servlet实现,因此它自然会添加到WAR文件中,而WAR文件可能会也可能不会使用EJB打包到EAR中


我不相信EJB知道或关心SOAP或REST。EJB使用RMI作为其选择的通信协议。

EJB3规范第2.6章:

支持web服务 互操作性,EJB规范 需要兼容的实现来 支持基于XML的web服务 使用WSDL和SOAP或 HTTP上的纯XML不符合要求 符合 JAX-WS[32],JAX-RPC[25],Web服务 对于JavaEE[31],以及Web服务 Java平台的元数据[30] 规格


换句话说:EJB3只能作为soapweb服务公开

我找到了一篇关于的文章,但我必须承认我从未尝试过。

为EJB编写一个包装类,您将使用支持CXF rest api或Jersey api的Jax rs注释将其标记为restful webservice。

嗨,duffymo,我认为web服务也是java中的EJB类型?因为我们可以将webservice标记为@Stateless,类似于EJB。还有我的ejb模块,顺便说一句,我说的是独立的ejb模块(.jar),而不是EAR包含web服务(基于SOAP),它工作得很好。所有web服务都在.jar(我的独立ejb模块)中,而不是.war中。您可以通过某种方式对ejb进行注释,以使应用程序。服务器将把它公开为web服务,而不向您的EJB项目添加任何内容!谢谢最后,我应该放弃在我的项目中使用RESTfulWeb服务的想法。不,我不同意。如果合适的话,使用REST。您不应该期望使用EJB3支持。这并不意味着不能或不应该这样做。我也有同样的怀疑。我正在尝试将ejb模块作为restfull web服务。但我没有得到任何资源@达菲莫。从你的评论来看,这让我感到困惑。我不知道我的语言是否有问题。但是你不同意这个答案。我可以照问题说的做吗?我不想创建web模块并调用ejb。只希望在服务器上部署ejb模块并作为webservice运行。任何信息或链接都将不胜感激。您是如何解决您的问题的?请您解释一下?你是换了肥皂还是换了restfull。