如何从 mule 代理中调用 rest api

How to call a rest api from within the mule proxy

如何从 mule 代理中调用 rest api

客户端 -> Mulesoft 代理(我需要调用 Rest 服务 A,在这里对客户端进行身份验证) -> 如果身份验证通过,则调用实际的 REST 服务 B。

Anypoint Platform 中的 API 代理被实现为应用策略的 Mule 应用程序。您必须下载代理,将其导入 Anypoint Studio 并编辑它以将 HTTP 请求添加到服务 A,然后像以前一样继续。如果身份验证失败且 HTTP 响应状态 >= 400,您可能不需要执行任何特殊操作,除非您需要自定义 HTTP 请求错误状态检查或自定义响应状态。

这就是如何创建一个 mule 应用程序以在正确验证后调用后端服务。

 Client -> Mule App A(apply API manager policies) -> if authenticated call service B
  1. 在eclipse studio中搭建一个Mule app A来调用后端服务B。
  2. 转到 Anypoint 平台中的 API 管理器并创建一个新的 API。您可以提供一个名称,资产类型可以是 HTTP
  3. 管理类型:基本端点。别提实现 URL。保存
  4. 点击保存后,屏幕上会显示一个 API ID,这是一个唯一的编号。您现在必须将此 API ID 绑定到步骤 1 中构建的 Mule 应用程序 A。
  5. 返回您的 Mule 应用程序 A 并配置一个名为 API 自动发现的全局元素。在此处提及 API ID 并选择流程名称。
  6. 部署你的 Mule 应用程序 A,你会看到在成功部署后,应用程序 A 将连接到你的 Mule 组织的 API ID(前提是你有来自访问管理的组织的任意点客户端 id/secret在正确配置的任意点平台中)。
  7. 现在,返回 API 经理并验证 API ID API 状态已变为活动状态。
  8. 在 API 管理器中应用任何 API 安全策略,它应该在 Mule App A 上应用。

一些附加信息: 通常,您会有一个 DMZ 或边缘区域,您可以在其中部署您的网关组件,流量将通过这些组件流入您的企业并攻击各种应用程序。一个这样的内部应用程序可能是 Mule 应用程序 A 开发来调用你的后端 REST 服务 B。现在,为了保护你开发的 Mule 应用程序 API 使用安全 API 策略的端点,你可以使用 API 管理器。一旦你在 API 管理器中通过 selecting 所有相关策略(如客户端凭据、Oauth jwt 验证或速率限制等)执行此操作,anypoint 平台将启动一个 Mule 应用程序,其中嵌入了所有这些策略应用程序(也称为代理应用程序),并会要求您指向后端 API,这将是您之前开发的 Mule 应用程序 A。您还必须 select 运行 时间到 运行 这个 Mule 代理应用程序,它通常在您的边缘 运行 时间 environment/zone。基本上,anypoint 平台会为您创建此应用程序并嵌入所需的 code/policies 等。现在,如果需要,您也可以编辑此应用程序,我不推荐这样做。

  Clients -> Mule proxy app(Security policies applied) -> Mule app A -> REST service B