问题标签 [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.

0 投票
1 回答
72 浏览

wso2 - Wso2 Enterprise Integrator 中介过滤器和外部源

我是 Enterprise Integrator 的新手,所以我可能会遇到误解问题。我已经在 Linux 机器上安装了 WSO2 EI 6.1.1。我为一个非常简单的基于表单的 Web 应用程序创建了一个直通代理,它运行良好。

我想通过预先验证对外部服务器的休息请求来过滤对它的访问。此外部请求的 JSON 结果应包含特定值 fe {"valid":"yes"}

我创建了一个可以进行此调用的 Java 类(目前只是静态分配值并将其加载到变量中):

我看到它运行正常。

作为第二步,我创建了一个中介过滤器,目的是评估这个值。我已经用始终正确的 xpath 表达式测试了这个中介,1 > 0我看到 then 和 else 子句可以正常工作。

我无法检查在过滤器介体中的第一个介体中获得的值。我怎样才能做到这一点?我错过了什么?

更新:

我发现解决问题的明显方法是定义一个属性调解器来存储值。我已经设法使用一个属性在过滤器中做出决定,但是,如何使用在 Java 类中获得的值来设置该属性?

0 投票
0 回答
60 浏览

wso2 - 如何在 WSO2 开发人员工作室中将入站端点添加到复合应用程序项目

我在 WSO2 ESB 项目中创建了一个入站端点 xml 文件,但无法将该项目添加到复合应用程序项目中。因此,它不能作为 CAR 包部署到 WSO2 ESB 服务器。看来 CAR 包至少需要一个 api 或一个代理,但如果我只想要一个入站端点,则没有必要。请问有人可以帮忙处理吗?

0 投票
2 回答
487 浏览

wso2 - wso2企业集成器类过滤器获取参数

我已经在 Linux 机器上安装了 WSO2 EI 6.1.1。我为获取 GET 和 PUT 请求的休息接口创建了一个直通代理。我已经设置了一个 Java 类调解器,它应该根据请求的 url 中包含的参数做出一些决定:

当我向班级询问请求的上下文时,我可以看到信封的内容和请求。

如何获取 token 参数的值?我尝试过的任何方法都没有奏效。


更新:

这是当前的序列:

我看到的是,在第一步(日志)中我看到了这个:

0 投票
1 回答
477 浏览

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 中检索它却不起作用?

0 投票
1 回答
279 浏览

xpath - Synapse XPath 变量参考

我已经安装了 WSO2 EI 6.1.1。我创建了一个 http 代理,并且正在创建一个序列,该序列从请求中获取某些值并通过 Java 类中介处理它。通过将表达式定义为$url:token.

我也在尝试获取 http 方法(Get、Post、Put...)和请求的主体,但我找不到定义它们的正确 XPath 变量。

这是我想要捕获的请求示例(我想要 PUT 和 JSON 数据)

似乎这些值与 $trp 和 $body 对象相关,但我无法找到有关如何获取它们的任何参考。


更新:

将 $body 定义为表达式会给我以下内容:

0 投票
0 回答
210 浏览

wso2esb - forceExpand:在 WSO2 EI 中解析 jsonObject 时出错

我正在 WSO2 EI 中开发一个肥皂代理。当我调用休息服务时,这是输出:

客户端无法更改此返回。我得到的例外是:

在 WSO2 EI 中纠正这种行为的一些想法?,知道它不是正式的 json。

感谢您的支持。

0 投票
1 回答
159 浏览

proxy - 代理服务参数中要访问的 WSO2 EI Registry(/_system/config/repository) 值

定义了代理服务,需要从注册表访问服务参数。以下语法不起作用。

如何访问注册表值/_system/config/repository以在代理服务参数中使用?

0 投票
0 回答
458 浏览

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 中介。

0 投票
1 回答
297 浏览

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 语法/格式,但没有用。我在做什么傻?

0 投票
1 回答
1019 浏览

json - 如何在 WSO2 ESB 中获取响应正文

WSO2 ESB中的响应格式如下:</p>

但我只想要身体,我该怎么办?

目标是将 xml 转换为 JSON 对象,如下所示