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