问题标签 [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.
json - WSO2 不是有效的协议版本:对于
我正在尝试在 WSO2 Enterprise Integrator 中使用POST方法调用http-EndPoint 。此 EndPoint 获取JSON对象作为输入并返回 JSON 对象作为响应。
到目前为止,我在 Enterprise Integrator 中使用了各种类型的 http-EndPoints 没有任何问题,但是这个特定的 EndPoint 返回一条错误消息,我无法在谷歌中找到任何关于它的线索。
这是我的api:
这是我在控制台中的错误消息:
[EI-Core] 错误 - TargetHandler HTTP 协议违规:不是有效的协议版本:
<head>
对于:192.168.1.50 :1237
更新
我在 WSO2 中启用了 Wire Logs来深入调查这个问题。这是日志输出:
虽然wire log返回了这个response:,Message: Bad HTTP/0.9 request type ('POST')
但是我可以直接向Endpoint发送post请求,没有任何问题。
这是对端点的直接发布请求:
这是输出结果:
- 状态:初始化 => 连接句柄 0x600057950;第 1423 行(连接 #-5000)
- 重建 URL 到:http: //192.168.1.50 :1237/
- 添加了连接 0。缓存现在包含 1 个成员
- 正在尝试 5.202.129.107...
- TCP_NODELAY 设置
- 状态:连接 => WAITCONNECT 句柄 0x600057950;第 1475 行(连接 #0)
- 连接到 192.168.1.50 (192.168.1.50) 端口 1237 (#0)
- 状态:WAITCONNECT => SENDPROTOCONNECT 句柄 0x600057950;第 1592 行(连接 #0)
- 标记为 [keep alive]:HTTP 默认
- 状态:SENDPROTOCONNECT => DO 句柄 0x600057950;第 1610 行(连接 #0)
POST / HTTP/1.1 主机: http: //192.168.1.50 :1237 用户代理:curl/7.56.1 接受:/ 内容类型:application/json 内容长度:197
- 上传完全发送:197 个字节中的 197 个
- 状态:DO => DO_DONE 句柄 0x600057950;第 1689 行(连接 #0)
- 状态:DO_DONE => WAITPERFORM 句柄 0x600057950;第 1814 行(连接 #0)
- 状态:WAITPERFORM => PERFORM 句柄 0x600057950;第 1824 行(连接 #0)
- HTTP 1.0,假设在正文之后关闭
- 标记为 [closure]:HTTP/1.0 在正文 < HTTP/1.0 200 OK 后关闭 < 服务器:BaseHTTP/0.3 Python/2.7.9 < 日期:Sun,2018 年 1 月 14 日 07:53:37 GMT < 内容类型:应用程序/ json <内容长度:2105 <
- 状态:执行 => 完成句柄 0x600057950;第 1993 行(连接 #0)
- 多完成
- 关闭连接 0
- 缓存现在包含 0 个成员
- 过期清除
当我将 WSO2 的标头与 curl 的标头进行比较时,我无法弄清楚有什么区别。为什么 WSO2 请求失败而 curl 请求成功?
wso2 - EI 和 APIm:响应负载包含在二进制元素中
1.1 - API Manager 2.1.0 如果我在启用二进制中继时通过简单的中介(传递)发送 POST 请求,则 ESB 生成的响应有效负载已包装在二进制元素中,如下所示。
在 ESB 5.0.0 和 API manager 2.0.0 中都运行良好。
wso2 - 为什么我在尝试执行 WSO2 DSS 插入查询时获得此“不支持的数据类型:文本作为输入参数”?
我在尝试实现这个简单的WSO2 DSS服务时发现了一些困难,该服务在MySql数据库上执行插入查询。
我已经实现了这项服务:
在我的用户表中,application_UID字段具有TEXT作为 SQL 类型。
问题是,当我尝试使用 DSS Try It 工具执行此查询调用服务时,对 Try It 工具执行以下调用:
我在 WSO2 日志中收到以下错误,并且未执行查询:
所以问题似乎与此错误消息有关:
似乎TEXT不是有效类型。但怎么可能呢?TEXT是有效的 SQL 类型。
我可以做些什么来解决这个问题并将一个TEXT值插入到application_UID表列中?
wso2 - 在 WSO2 ESB 中创建 JsonArray 响应
我被困住了,需要一些建议来评估 WSO2 ESB。
我在 JSON 中有一个请求有效负载,如下所示。
我需要一一迭代 $body/names/name 并创建一个 JSON 数组,如下所示。
我面临的问题是我无法在 WSO2 ESB 的 foreach 中介内创建 JsonArray。我看不到在 WSO2 ESB 中定义/使用 JsonArray 的任何选项。
如果您有任何建议,请提出建议。
我已经编写了下面的代码。
谢谢!
wso2esb - WSO2 - 像克隆中介一样按顺序执行并行步骤
在我们使用 WSO2 ESB(EI 6.1.0)的项目中,我们有一些场景需要并行执行 2 个任务。
例如,我们有一个步骤用于在审计表中插入执行步骤,然后继续执行下一步。
为此,我们使用带有 continueParent=true 的克隆中介,并且在克隆内部,我们有将审计数据插入数据库的序列。当我们设置 continueParent=true 时,下一步不会等待审计插入执行。
这工作正常,但在高负载测试中,我们发现堆变得非常大。
检查堆我看到了很多克隆中介的实例,当它克隆上下文时,它增长很多并导致内存不足。
我的问题是:
有没有办法有类似的行为但不使用克隆中介?
谢谢,
soap - WSO2“元素“soapenv:Envelope”的前缀“soapenv”未绑定。
客观的
我正在尝试将wso2 企业集成器中的 xml 转换为 csv 。我有一个简单的代理服务,我在其中使用 smooks 调解器
以下是我的 smooks 配置:
代理服务:
问题陈述:
当我将请求 A发送到我的服务时,我的代理和 smooks 运行并成功运行,但是当我运行请求 B时,我得到了错误。
两个请求的唯一区别是 csv-record 标签之前的肥皂信封头标签。
这是我的请求
这是我的请求 B
现在我想运行请求 B,但我无法处理它。当我取下肥皂信封时,它工作得很好。如何从传入的 xml 请求中删除肥皂信封严重卡住。非常感谢您的帮助。
wso2 - WSO2 EI - LDAP 连接器 - 访问二进制属性 userPassword
我正在使用 WSO2 LDAP 连接器来获取有关 securityObject 类型的 LDAP 实体的详细信息。是否可以获得二进制 userPassword 属性字段的值。现在我收到以下异常:
我知道 userPassword 返回一个字节数组,似乎在不更改连接器实现的情况下,没有其他可能的方法可以使用 WSO2 LDAP 连接器检索二进制字段的值。
angular - Cors 过滤器不适用于 wso2 EI rest api
我们尝试从 Angular 5 应用程序调用 REST API,这些 API 被设计并部署在 EI 上作为 .car 文件,但是,当我们启动 Angular 应用程序时,由于No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://10.5.222.34:9763' is therefore not allowed access.
. 我们尝试添加 CORS 过滤器,<EI_HOME>/conf/tomcat/web.xml
但没有成功:
谁能帮我找出问题所在以及如何解决?并提前感谢您。
我要求的代码是:
从角度来看是一个普通的 HTTP POST 客户端调用,但是,浏览器发送两个请求,第一个作为 OPTIONS 来检查服务器是否会接受原始请求(POST 请求),第二个是原来的 POST 。
从EI方面:
wso2 - 是否可以在 WSO2 Enterprise Integrator 中禁用服务列表
似乎在安装WSO2 Enterprise Integrator之后,默认情况下,当有人导航到http://serverip:port/services/时,所有已部署的服务(包括受安全策略保护的服务)及其可用操作都会被列出。然后可以通过http://server:port/services/service_name?wsdl访问每个服务
是否可以为所有或至少为安全服务禁用此列表?是否可以禁用对安全服务的 wsdl 的公共访问?
我尝试添加<parameter name="disableServiceList">true</parameter>
到axis2.xml 文件但没有成功。