为什么我不能在ejb模块中创建RESTful Web服务?

时间:2010-06-06 17:22:05

标签: java web-services

我正在使用Netbeans 6.8。我可以看到在我的独立ejb模块中创建Web服务的选项,但我似乎无法找到在我的ejb模块中创建基于RESTful的Web服务的选项。在ejb模块中是否有任何限制,我只能创建基于SOAP的Web服务而不是RESTful?或者它是Netbeans 6.8的错误?

4 个答案:

答案 0 :(得分:3)

EJB3规范的第2.6章:

  

支持网络服务   互操作性,EJB规范   需要兼容的实现   支持基于XML的Web服务   使用WSDL和SOAP或调用的调用   简单的XML over HTTP不一致   符合要求   JAX-WS [32],JAX-RPC [25],Web服务   for JavaEE [31]和Web Services   Java平台的元数据[30]   SPECI音响阳离子。

换句话说:EJB3只能作为SOAP Web服务公开。

答案 1 :(得分:2)

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

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

答案 2 :(得分:2)

我找到了一篇关于EJB 3.1 and JSR-311 REST的文章,但我承认我从未尝试过。

答案 3 :(得分:0)

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