首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从WSDL生成EJB

如何从WSDL生成EJB
EN

Stack Overflow用户
提问于 2011-10-03 19:01:42
回答 3查看 3.7K关注 0票数 2

我知道如何使用@WebService和@无状态注解来编写EJB并将其公开到WebService中。

而是因为我们尝试使用其他工具首先生成WSDL,然后再创建Java代码。我可以使用WebLogic的WSDLC从WSDL生成服务代码。但问题是WSDLC生成的代码不是EJB。做WSDL -> EJB有什么建议吗?

如果可能的话,我不喜欢使用AXIS。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-03 21:27:26

我在EJB和Web服务方面工作了很长一段时间,没有遇到任何这样的工具。从逻辑上讲这是有道理的,

EJB服务本身不是组件,而是某个业务组件(在本例中为)的外观。它们彼此解耦。

  1. WSDL基础代码生成器将生成这些外观或带注释的Pojos。

  1. POJO/Facade是否使用EJB或任何其他服务来进一步委托,完全取决于实现。

这就是我觉得不会有这样的工具直接从WSDL生成EJB的原因。但是,我仍然受到我的经验的限制。我很想知道这样的工具是否存在。

编辑:仅供参考,这里有WSDL EJB Extension。但是它需要现有的EJB来将其操作绑定到WSDL。(它不创建EJB代码)

票数 2
EN

Stack Overflow用户

发布于 2011-10-03 21:55:47

嗯,并不是说新的EJB3.1没有比旧版本好很多,但我仍然更喜欢使用Apache CXF来实现web服务:

http://cxf.apache.org/

它有一个很好的wsdl2java工具(也可以用作maven插件):

http://cxf.apache.org/docs/wsdl-to-java.html

它获取您的WSDL文件,验证它,然后为您的web服务的实现生成非常干净的Java模板代码:您有用于编组请求和响应的JAXB类,一个非常简单的(编码为接口的)web服务实现类,其中包含每个ws操作的方法(当然,您必须使用您的业务逻辑实现您自己的方法),还可以选择一个很好的Java客户端存根,另一个Java应用程序可以使用它来轻松地访问您的服务。即使没有客户端存根,你仍然可以得到一个干净标准的实现,它基本上就是Java类,不需要EJB容器来启动(或测试)你的web服务。

票数 1
EN

Stack Overflow用户

发布于 2011-10-06 12:33:36

支持从NetWeaver生成WebService。我只是试一试。http://help.sap.com/saphelp_nw72/helpdata/en/46/7f2fef88190ad3e10000000a11466f/content.htm

我还检查了由Apache CXF、SAP和WebLogic生成的代码。它们是相似的。如果您使用EJB3,您只需向Apache CXF或WebLogic生成的代码添加@Stateless注释,使其成为一个EJB。

但我认为直接向WebService公开业务EJB并不是一个好主意。应该有一个服务层。将EJB用作服务层的好处是,它可以使用注入轻松地访问其他EJB。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7634119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档