以编程方式在 WSO2 API Manager 中添加自定义处理程序

2023-12-27

我通过使用 WSO2 API Manager 的自动化流程创建和订阅新的 API出版商 https://docs.wso2.com/display/AM190/Publisher+APIs and Store https://docs.wso2.com/display/AM190/Store+APIs分别是 HTTP API。我有自定义处理程序,然后通过编辑 XML 文件将其映射到我的 API<APIM_HOME>/repository/deployment/server/synapse-configs/default/api.

有没有办法以编程方式将处理程序映射到新创建的 API,这样我就不必手动编辑 XML?换句话说,API 或其他方法可以查看 API 的当前处理程序,并添加/删除?


我假设您不想为所有 API 手动编辑 API XML 来使用自定义处理程序。相反,您希望在发布 API 时能够自动将处理程序与所有 API 接合。您可以通过编辑 $APIM_HOME/repository/resources/api_templates/velocity_template.xml 来完成此操作。这是模板文件,它决定默认情况下哪些处理程序与 API 交互。在此文件的最后,您将找到处理程序部分。您需要编辑此文件并在其中添加处理程序,如下所示。

## print the handlers
#if($handlers.size() > 0)
<handlers xmlns="http://ws.apache.org/ns/synapse">
    <handler class="org.wso2.carbon.samples.handlers.MyCustomHandler"/>
    #foreach($handler in $handlers)
    <handler xmlns="http://ws.apache.org/ns/synapse" class="$handler.className">
        #if($handler.hasProperties())
            #set ($map = $handler.getProperties() )
            #foreach($property in $map.entrySet())
                <property name="$!property.key" value="$!property.value"/>
            #end
        #end
    </handler>
    #end
</handlers>
#end

如您所见,我已经添加了我的处理程序org.wso2.carbon.samples.handlers.MyCustomHandler。这就是你应该做的。如果您现在创建并发布 API,MyCustomHandler 将自动与您的 API 配合。但是,即使您更新velocity_templates.xml,已发布的API也不会产生影响。您需要重新发布它们才能获得效果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式在 WSO2 API Manager 中添加自定义处理程序 的相关文章

  • WSO2 IS 自定义验证器

    我们正在使用 WSO2 IS v5 4 1 我们希望根据外部用户数据存储对用户进行身份验证 所需的步骤 用户使用用户名和密码通过 Oauth 登录 WSO2 IS 登录请求被转发到外部服务 该服务通过给定的用户名和密码对用户进行身份验证 而
  • WSO2 身份服务器 JWT 访问令牌

    当使用密码 grant type 登录时 我尝试从 WSO2 Identity Server 接收 JWT access token 但我找不到任何方法来配置它 当我登录时 我得到一个 guid 作为 access token 我发现了这个
  • WSO2签名系统服务应用程序

    我想将我的所有设备设置为 COPE WSO2 EMM 设置已完成并且工作正常 剩下的就是使用固件密钥对系统服务应用程序进行签名 我仅使用 Google 设备 Android 设备 摩托罗拉 G2 从那里我可以找到用于签署应用程序的密钥和密码
  • 无法使用 ldap 凭据登录 wso2 身份服务器

    我试图将 wso2 身份服务器连接到 Ldap ReadWriteLDAPUserStoreManager 集成成功并且可以从 wso2 身份服务器访问 ldap 用户 但问题是我无法使用 ldap 用户名和密码登录身份服务器 请帮我 Pl
  • 通过 WSO2 API 管理器公开不安全的 url

    我有一个在 WSO2 的 API Manager Publisher 工具中设置的 API 当使用访问令牌正确调用时 所有调用都可以正常工作 但我有一个网址 我希望任何人都可以调用它 这是一个定制的 Swagger UI 页面 与 WSO2
  • WSO2 Synapse:设置 URL 参数

    我正在尝试做一些看似简单但无法使其发挥作用的事情 基本上我希望 WSO2 API 管理器向 REST 调用添加 URL 参数 设置和问题 我安装了 WSO2 API 管理器 我还有一个 Tomcat 运行着一个名为一些servlet它只是记
  • 尝试根据 mysql 保存用户应用程序时,WSO2 App Store 抛出错误

    当我尝试创建或编辑应用程序时 API Store 抛出错误 java sql SQLException Can t call commit when autocommit true 我添加了设置 init command set autoc
  • wso2 API 管理器 |如何将客户端证书关联到后端/目标端点

    我们有一个 api 后端 在访问 api 时需要提供客户端证书 我们已将客户端证书以及所有根 CA 和中间证书添加到repository resources security client truststore jks 重新启动服务器 我相
  • 在 WSO2 ESB 中介期间修改配置注册表资源内容

    我有一个场景 我需要在配置注册表中存储简单计数器并在序列流结束时递增它 我们需要存储在配置注册表中的原因是 如果服务器重新启动 我们将保留最后的计数器值 有人可以建议如何增加配置注册表中的计数器吗 您可以在中介中使用示例 javascrip
  • 如何更改h2数据库密码?

    我无法更改 H2 db 的密码 我尝试用命令来做到这一点 chpasswd sh db url jdbc h2 repository database WSO2CARBON DB db driver org h2 Driver db use
  • 关于 WSO2 API Manager 数据源

    我现在正在执行 WSO2 API 管理器 Analytics 2 0 POC 当我将数据源从 H2 更改为 Oracle 时 在 wso2am 2 0 1 SNAPSHOT 中 有 2 个数据源配置文件 master datasources
  • WSO2 API Manager - 移动应用程序如何连接到 API Manager?

    我们有一个移动应用程序 需要通过 WSO2 API Manager 来访问一些 API 由于oauth2身份验证 我们需要在移动应用程序中存储用户名和密码 安全吗 例如 可以使用用户名和密码登录API Store 对于这种情况有其他解决方案
  • WSO2 ESB 4.8 中的 RabbitMQ AMQP 传输支持

    http docs wso2 org display ESB480 RabbitMQ AMQP Transport http docs wso2 org display ESB480 RabbitMQ AMQP Transport我已经完成
  • wso2 调用 API 时无需令牌

    我正在使用 WSO2 API Mananger 管理我的 API 到目前为止 每个 API 都是私有的 并且可以使用访问令牌进行访问 新用例中的一些 API 是完全公开的 任何人都可以匿名访问它们 只需 GET POST PUT 即可 无需
  • WSO2 Identity Server 5.1.0 未在 SAML 响应中返回用户声明

    在尝试新版本的 WSO2 Identity Server 5 1 0 时 我在返回 SAML 响应中的声明时遇到问题 虽然这在 WSO2 IS 5 0 0 SP1 中有效 我已经映射了所需的声明并将它们添加到我的 SP 此外我还配置了 SP
  • 让 WSO2 IOT 服务器作为 Windows 服务运行

    我在Server 2012R2上安装了WSO2 IOT Server 我安装了 YAJSW 包装器并按照 WSO2 说明进行配置 当我启动 runConsole bat 来配置 Windows 服务时 出现以下错误 我设置了 JAVA HO
  • 具有 OpenId Connect 的 WSO2 身份服务器

    我正在尝试将 WSO2 Identity Server 5 1 0 与 Asp Net MVC 结合使用 作为概念证明 我在 Visual Studio 2015 中创建了一个示例 asp net MVC 项目 按照 WSO2 指南 我已根
  • 为什么在 WSO2 中自定义 Axis2 版本?

    好吧 在为 WSO2 ESB 开发自定义传输时 建议我使用特定于 WSO2 的 Axis2 版本 1 6 1 wso2v5 有谁知道这个版本是否与 标准 1 6 1 版本有所不同 而这个 分支 的动机又是什么 AFAIK 这是因为 wso2
  • 刷新令牌返回无效的授权类型

    我正在尝试刷新访问令牌 基于https docs wso2 com display IS510 Refresh Token Grant https docs wso2 com display IS510 Refresh Token Gran
  • 是否可以使用相同的客户端凭据拥有多个有效的访问令牌?

    我有一个使用 OAuth2 身份验证的 API 设置 客户已使用 WSO2 订阅了我的 API 我们不使用刷新令牌 所有访问令牌将在 1 小时后过期 如果我的客户端使用相同的客户端凭据请求 2 个访问令牌 会发生什么情况 第一个令牌会被撤销

随机推荐

  • ASP/C# 后面的代码无法从标记获得控制

    Issue 我有这样的标记 只有重要的行 ul class teaserLinksUL ul 后台代码 namespace MainSolution CONTROLTEMPLATES Kunde public partial class R
  • 从 OpenGL 中的纹理采样为黑色

    我正在按照以下教程尝试图形处理http en wikibooks org wiki OpenGL Programming Modern OpenGL Tutorial 06 http en wikibooks org wiki OpenGL
  • 为什么 Chrome 浏览器无法识别我的 http2 服务器?

    我按照以下设置我的 Nginx 配置数字海洋纸 https www digitalocean com community tutorials how to set up nginx with http 2 support on ubuntu
  • 如何在java中使用AWS Textract检索pdf中存在的表

    我发现下面的文章是用 python 做的 https docs aws amazon com texttract latest dg examples export table csv html https docs aws amazon
  • 如何调试 WSO2 ESB 代码

    您通常如何调试 ESB 代码 我正在使用日志语句 但它们在系统日志中丢失了 有没有更好的机制可以使用 Thanks 您可以使用 ESB 代码从 IDE 进行远程调试 首先使用调试选项启动 ESB 服务器脚本 如下所示 wso2server
  • PHP:不区分大小写的参数

    我如何接受已通过GET or POST值不区分大小写 Like sample php OrderBy asc仍然会是一样的sample php orderby asc or sample php ORDERBY asc 有没有一种方法可以有
  • 在 Java 中构建分隔项字符串的最佳方法是什么?

    在使用 Java 应用程序时 我最近需要组装一个以逗号分隔的值列表以传递给另一个 Web 服务 而无需提前知道其中有多少元素 我能想到的最好的办法是这样的 public String appendWithDelimiter String o
  • Model.find Mongoose 6.012 始终返回所有文档,即使有过滤器

    我的架构示例 const XXXSchema new mongoose Schema name String 我使用猫鼬有一段时间了 最 近我开始遇到这些问题 以下查询按预期工作 await MyModel find id ObjectId
  • 是否有内置支持在 Azure 容器实例上启用 SSL?

    是否有内置支持在 Azure 容器实例上启用 SSL 如果没有 我们可以连接到像 Lets Encrypt 这样的 SSL 提供商吗 今天没有任何内置的东西 您需要将证书加载到容器中并在那里终止 SSL 很快 我们将启用对 ACI 容器加入
  • 使用 keyup 捕获 TAB 按键

    我需要实现 2 个目标 但我一次只实现一个目标 而不是同时实现两个目标 首先 我有一个输入字段 当按下按键时应该触发一个事件 并且我需要捕获字段值 我使用字母 数字和 TAB 键 因此 如果我使用 keyup 它会在第一个字符处触发 如果我
  • 打开 jquery.min.js 后 Eclipse 变得非常慢

    正如标题所说 每当我打开一个长压缩版本的任何 javascript 库 如 jquery 或 Foundation min js 时 我的 Eclipse 安装都会变得非常非常缓慢 有时重新启动后 事情会再次正常 直到我打开这些文件 有什么
  • tsc 编译使用文件扩展名导入的打字稿

    我以独立于生态系统的方式编写打字稿代码 我决定在导入中包含文件扩展名 以匹配 Web 和 Deno import xyz from foo ts 我怎样才能获得打字稿编译器 tsc 编译这些文件不会出现以下错误 error TS2691 A
  • 为什么 npm install 仅在 ElasticBeanstalk 中失败?

    我有一个 Nest js Node js 应用程序 我想将其部署在 ElasticBeanstalk Node 16 版本 AL2 5 5 0 上 我的部署一直失败 我发现错误在eb engine log 2022 03 23 15 11
  • “const int& jj”和“int& const jj”有什么区别?

    我对两者感到困惑 我知道 C 引用本质上是恒定的 一旦设置它们就不能更改为引用其他内容 const int 表示对 const 的引用int 相似地 int 表示对非常量的引用int int const字面意思是 const 引用 对非 c
  • Android:使用媒体播放器播放本地视频

    我正在尝试播放我在项目中保存的视频 我有下载this http camendesign co uk code video for everybody test html 一个 mp4 测试视频 然后在我的项目中创建了一个名为 vid 的文件
  • Cordova - 命令错误代码 1 |命令失败的时间为

    我是科尔多瓦的新手 所以如果我的问题不相关 请原谅我 我的 Windows 7 x64 机器中有一个 cordova 项目 昨天我通过构建我的科尔多瓦应用程序cordova build android release 但我需要添加新插件co
  • 创建直方图 OCaml

    我的任务是创建一个直方图 输出某个元素在列表中出现的次数 Input 2 2 2 3 4 4 1 Output 2 3 2 2 2 1 3 1 4 2 4 1 1 1 Expected output 2 3 3 1 4 2 1 1 My c
  • YARN 中应用程序管理器和应用程序主控之间的区别?

    我了解 MRv1 的工作原理 现在我试图了解 MRv2 YARN 中的应用程序管理器和应用程序主控之间有什么区别 应用程序主控和应用程序管理器这两个术语通常可以互换使用 实际上 Application Master 是请求 启动和监视应用程
  • 使用 moment.js 将日期转换为字符串“MM/dd/yyyy”

    我需要从 jquery datepicker 中获取日期值 将其转换为字符串格式 MM dd yyyy 以便它可以执行正确的 ajax post 当页面加载或更改日期选择器时 将进行 jquery ajax 调用 我有这个代码 var sT
  • 以编程方式在 WSO2 API Manager 中添加自定义处理程序

    我通过使用 WSO2 API Manager 的自动化流程创建和订阅新的 API出版商 https docs wso2 com display AM190 Publisher APIs and Store https docs wso2 c