如何通过 NWDS 为 Java NetWeaver 7.5 编写 Web 服务?

问题描述 投票:0回答:1

我最近开始部分时间在 SAP 工作。我认为按照 SAP 标准,我们的系统有点旧——我认为它是 ECC6.0。 NetWeaver版本是7.5。我们有 ABAP 和 SAP AS Java,我对 AS Java 部分有疑问。我一直在寻找一种将角色数据自动导入门户的方法。目前,有人每天都会获取该文件并使用门户中的导入功能上传。据我了解,SAP AS Java 支持构建 Web 服务,并且我看到有用于访问 UME 的 SAP java 函数,所以我的想法是构建一个 Java Web 服务来执行此操作。我已经下载了 NWDS 7.5,并且因为我了解到 NetWeaver 使用 JAX-WS,所以我构建了一个 JAX-WS Web 服务。

我遇到的问题是我不知道如何部署服务/让它运行/访问它。当我尝试在谷歌中查找信息时,我找到了很多相关的搜索结果,但是他们在新世界百货中谈论的许多功能似乎在我的版本中并不存在。例如,我经常看到的一件事是使用要转换为 Web 服务的 java 类的上下文菜单中的“Web 服务”选项。我的上下文菜单没有这个选项;它们主要具有您在 Eclipse 中看到的标准选项,并添加了一些内容。

我确实通过部署视角通过 NWDS 部署了我的 Web 服务,但是虽然我可以看到服务器上的应用程序,但我似乎无法访问它。使用 https://host:port/web-service-name 会生成一个不包含我的 java 类的目录列表。另外,我不确定是否应该将应用程序部署为 .war 还是 .ear,也许这也是问题的一部分?我已经将两者部署到服务器上。另外,作为熟悉部署到 Tomcat 的人,我真的不确定需要什么才能让 SAP 服务器与我的应用程序配合使用。例如,服务器抱怨存档中的 web.xml,我不知道该怎么办。

总而言之,我很困惑。 NWDS 7.5 是否仍支持建立 AS Java 网页服务?它的工作方式与以前的版本有什么不同吗?我需要做什么才能让它发挥作用?另外,如果有一种方法可以实现 RESTful Web 服务,那将是受欢迎的。

java web-services jax-ws java-ee-5 netweaver
1个回答
1
投票

因此,正如这些事情似乎经常发生的那样,我在发布这个问题几周后取得了重大突破并解决了这个问题,这个问题是我在与这个问题斗争了几个月后发布的。这是我为使事情顺利进行所做的事情;我没有仔细检查我所做的事情以确保我发布的内容是准确的;我只是记录我所记得的内容,如果有不准确的地方,希望这至少足以让某人走上正确的轨道。如果您对此过程有疑问或疑问,请与我联系。

首先感谢 Suncatcher 的回复。我确实在 Eclipse 中使用了“Java EE”视角,但在上下文菜单中没有看到“Web Service”选项。如果您对为什么会这样有任何想法或对使用另一个角度的建议有任何想法,我很想听听。因此,我的流程与您发布的链接中给出的流程不匹配,但它似乎确实有效。

我希望我能理解的一件事是 SAP 已经为您安装并运行了 JAX-WS。一切都已配置完毕,SAP 将负责配置您的类以作为 JAX-WS Web 服务运行。 SAP 所期望的只是一个源代码已使用适当的 JAX-WS 注释进行注释的类。不需要像 web.xml 这样的项目。

  • 为您的 Web 服务创建一个新的 EJB 3.0 项目。确保您的 Web 服务类及其方法 具有适当的 JAX-WS 注释。 (有EJB注释 也添加了,我不确定是否需要它们。我 把它们留在里面。)
  • 创建“企业应用项目”。这会 用于构建包含您的 Web 服务项目的 EAR。作为 创建项目时,请确保选择您的 Web 服务项目 包含在这个项目中。
  • 右键单击刚刚创建的项目 然后点击“导出”;选择 SAP EAR 选项。
  • 使用部署 新世界百货的视角来部署您的EAR。

我无法找到我的网络服务地址。我使用“WS Navigator”功能找到它。

一旦您启动了 Web 服务,您就拥有了地址,并且可以成功检索 WSDL,您可以为其生成客户端。

© www.soinside.com 2019 - 2024. All rights reserved.