问题标签 [wso2ei]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wso2 - Wso2 Enterprise Integrator 中介过滤器和外部源
我是 Enterprise Integrator 的新手,所以我可能会遇到误解问题。我已经在 Linux 机器上安装了 WSO2 EI 6.1.1。我为一个非常简单的基于表单的 Web 应用程序创建了一个直通代理,它运行良好。
我想通过预先验证对外部服务器的休息请求来过滤对它的访问。此外部请求的 JSON 结果应包含特定值 fe {"valid":"yes"}
。
我创建了一个可以进行此调用的 Java 类(目前只是静态分配值并将其加载到变量中):
我看到它运行正常。
作为第二步,我创建了一个中介过滤器,目的是评估这个值。我已经用始终正确的 xpath 表达式测试了这个中介,1 > 0
我看到 then 和 else 子句可以正常工作。
我无法检查在过滤器介体中的第一个介体中获得的值。我怎样才能做到这一点?我错过了什么?
更新:
我发现解决问题的明显方法是定义一个属性调解器来存储值。我已经设法使用一个属性在过滤器中做出决定,但是,如何使用在 Java 类中获得的值来设置该属性?
wso2 - 如何在 WSO2 开发人员工作室中将入站端点添加到复合应用程序项目
我在 WSO2 ESB 项目中创建了一个入站端点 xml 文件,但无法将该项目添加到复合应用程序项目中。因此,它不能作为 CAR 包部署到 WSO2 ESB 服务器。看来 CAR 包至少需要一个 api 或一个代理,但如果我只想要一个入站端点,则没有必要。请问有人可以帮忙处理吗?
wso2 - wso2企业集成器类过滤器获取参数
我已经在 Linux 机器上安装了 WSO2 EI 6.1.1。我为获取 GET 和 PUT 请求的休息接口创建了一个直通代理。我已经设置了一个 Java 类调解器,它应该根据请求的 url 中包含的参数做出一些决定:
当我向班级询问请求的上下文时,我可以看到信封的内容和请求。
如何获取 token 参数的值?我尝试过的任何方法都没有奏效。
更新:
这是当前的序列:
我看到的是,在第一步(日志)中我看到了这个:
wso2 - 当我尝试从我的 ESB API 流执行 DSS 查询时,为什么会出现此错误?未找到操作的端点参考 (EPR)
我是WSO2 EI的新手,我在尝试从我的ESB流中定义的 API调用DSS服务时发现了一些问题。
我是这样做的:
1) 在与我的DSS服务相关的agrimarketprice-dss.dbs文件中,我进行了以下操作:
调用具有id=commodity_details_id的查询。它工作正常,我使用Try It工具对其进行了测试,并获得了预期的结果集。
2) 然后我定义了这个ESB流定义的 API:
正如您在前面的 ESB 流程中看到的,我试图以这种方式调用定义到我的 DSS 服务中的前面的操作:
因此,我正在创建一个有效负载,其中包含由$ctx:commodityId表示的检索到的 ID (它包含正确的值,因为我记录了它)。然后我将标题设置为必须执行的操作的名称(“urn:GetCommodityDetails”)。最后,我对包含先前 DSS 服务详细信息的agrimarketprice_Endpoint执行调用,这是内容:
这个端点是正确的,因为我将它用于另一个 API 中的另一个查询(但它具有不同的逻辑,因为在另一个查询中我从 JSON 文档中提取参数)。
问题是,当我调用我的 API 时,我在 Carbon 日志中获得了以下错误消息(我认为当它尝试执行执行我的查询的调用时):
在我看来,这个错误应该与这个日志信息有关:
似乎它试图将传递的 id (1) 附加到agrimarketprice-dss(即服务名称)而忽略操作(即GetCommodityDetails并且我在标题中指定)。
那么有什么问题呢?我错过了什么?如何尝试修复此错误?
EDIT-1:我尝试了另一种方法:API 不会从 URL 路径中检索商品 ID,而是从请求中这样的 JSON 文档中检索:
因此,以这种方式更改 API 工作正常,查询正确执行(但我需要从 URL 中检索商品ID 并将其用作查询参数(因此它可能只是一种解决方法):
因此以这种方式正确调用 DSS 服务、执行查询和 API 将预期输出发送回客户端。
但是为什么从 POST 请求中的 JSON 文档中检索 ID 可以正常工作,但从 URL 中检索它却不起作用?
xpath - Synapse XPath 变量参考
我已经安装了 WSO2 EI 6.1.1。我创建了一个 http 代理,并且正在创建一个序列,该序列从请求中获取某些值并通过 Java 类中介处理它。通过将表达式定义为$url:token
.
我也在尝试获取 http 方法(Get、Post、Put...)和请求的主体,但我找不到定义它们的正确 XPath 变量。
这是我想要捕获的请求示例(我想要 PUT 和 JSON 数据)
似乎这些值与 $trp 和 $body 对象相关,但我无法找到有关如何获取它们的任何参考。
更新:
将 $body 定义为表达式会给我以下内容:
wso2esb - forceExpand:在 WSO2 EI 中解析 jsonObject 时出错
我正在 WSO2 EI 中开发一个肥皂代理。当我调用休息服务时,这是输出:
客户端无法更改此返回。我得到的例外是:
在 WSO2 EI 中纠正这种行为的一些想法?,知道它不是正式的 json。
感谢您的支持。
proxy - 代理服务参数中要访问的 WSO2 EI Registry(/_system/config/repository) 值
定义了代理服务,需要从注册表访问服务参数。以下语法不起作用。
如何访问注册表值/_system/config/repository
以在代理服务参数中使用?
datamapper - WSO2 EI 6.1.1 Data Mapper 调解器将一种 json 格式转换为另一种 json 格式
我想根据需要使用 WSO2 EI 的 Data Mapper Mediator 将来自一个端点的 json 响应转换为另一种 json 格式。来自我的端点的示例 JSON 响应是 -
我希望将其转换为以下格式:
我创建了一个 ESB 项目并给出了一个简单的工作流来了解如何使用 Data Mapper 中介器。我的 API 代码如下 -
我已经负责将输入和输出 json 模式加载到 Data Mapper 中介并提供正确的映射。此外,在 Data Mapper 的属性视图中提到输入和输出类型为 JSON,并在 CAR 文件中包含映射相关文件。当我调用我的 API 时 - 我收到此错误:
有人可以帮我解决我可能出错的地方。另外,请告诉我如何将来自端点的 json 响应输入到 Data Mapper 中介。
wso2 - WSO2 EI611 入站端点文件的 FTP url 无效,抛出错误
[2017-10-31 18:38:43,008] [] 错误 - FilePollingConsumer 反复无法解析文件 URI: ftp://username ": @"servername/folder/folder/folder/org.apache.commons.vfs2。 FileSystemException: 无效的绝对 URI " ftp://username ": @"servername/folder/folder/folder/"。
原因:org.apache.commons.vfs2.FileSystemException:期望 / 跟随 URI“ ftp://username ”:***@“servername/folder/folder/folder/”中的主机名。
尝试了几个选项,仍然无法正常工作。我使用了以前 StackOverflow WSO2 帖子和产品文档中的 FTP url 语法/格式,但没有用。我在做什么傻?
json - 如何在 WSO2 ESB 中获取响应正文
WSO2 ESB中的响应格式如下:</p>
但我只想要身体,我该怎么办?
目标是将 xml 转换为 JSON 对象,如下所示