【问题标题】:Writing a web service for SAP AS Java NetWeaver 7.5 and NWDS 7.5为 SAP AS Java NetWeaver 7.5 和 NWDS 7.5 编写 Web 服务
【发布时间】:2022-11-10 14:13:22
【问题描述】:

我最近开始部分时间在 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 服务。

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

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

总而言之,我很困惑。 NWDS 7.5 是否仍然支持构建 AS Java Web 服务?它的工作方式与以前的版本不同吗?我需要做什么才能使其正常工作?此外,如果有办法提供 RESTful Web 服务,那将是受欢迎的。

【问题讨论】:

  • 请提供足够的代码,以便其他人可以更好地理解或重现该问题。
  • Does NWDS 7.5 still have support for building AS Java web services? 是的。注意 NWDS 版本must strictly correspond to SAP AS Server version,它可能是潜在错误的来源。 is to use the "Web Service" option from the context menu of the java class you want to turn into a web service. My context menus don't have this option 这很可能是因为您在错误的perspective 或错误的项目类型中执行此操作
  • 如果您想从现有的 Java 类创建服务,它将是一个 inside-out implementation,因此请尝试分步过程 from the help 并使用确切的步骤/屏幕截图编辑您的问题,代码示例以表示出了什么问题

标签: java netweaver


【解决方案1】:

因此,正如这些事情似乎经常发生的那样,我在发布这个问题几周后取得了重大突破并解决了这个问题,这是我在为这个问题挣扎了几个月后发布的问题。这是我为使工作正常所做的工作;我没有仔细检查我所做的事情以确保我发布的内容是准确的;我只是从我记得的内容开始,如果有不准确之处,希望这至少足以让某人走上正轨。如果您对此过程有任何问题或疑问,请与我联系。

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-28
    • 2011-05-16
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2013-01-06
    • 1970-01-01
    • 2012-01-08
    相关资源
    最近更新 更多