带有分组输入参数的WSO2 EI DataService

时间:2019-06-27 02:13:25

标签: wso2 wso2esb wso2is wso2dss wso2ei

我正在使用WSO2 Enterprise Integrator 6.5.0的 DataService

我想输入嵌套参数, 我没有找到任何有关此的教程, 这是我的输入:

{
  "getBankCodes": {
    "SOURCE" : "12",
    "FUNCTION": "james",
    "REQUESTER" : "bond",
    "SECURITYCODE" : "bond@gmail.com"
  }
}

所需输入为:

{
  "source" : "123",
  "userId" : "test",
  "Request": {
    "SOURCE" : "12",
    "FUNCTION": "james",
    "REQUESTER" : "bond",
    "SECURITYCODE" : "bond@gmail.com"
  }
}

源代码:

  <query id="getBankCodes" useConfig="Datasource">
      <sql>Select BankCode, BankName From XAC_BANKCODES Where Substr(BankCode, Length(BankCode) - 3) = '0000'</sql>
      <result outputType="json">         &#xd;         &#xd;      { "Response":&#xd;      {"Banks":[&#xd;        {                   &#xd;         "Details": {&#xd;          "BankCode":"$BankCode",&#xd;          "BankName":"$BankName"&#xd;         }&#xd;        }                 &#xd;      ]&#xd;    }           &#xd;}</result>
      <param name="SOURCE" ordinal="1" sqlType="STRING"/>
      <param name="FUNCTION" ordinal="1" sqlType="STRING"/>
      <param name="REQUESTER" ordinal="1" sqlType="STRING"/>
      <param name="SECURITYCODE" ordinal="1" sqlType="STRING"/>
   </query>
   <operation name="getBankCode">
      <call-query href="getBankCodes">
         <with-param name="SOURCE" query-param="SOURCE"/>
         <with-param name="FUNCTION" query-param="FUNCTION"/>
         <with-param name="REQUESTER" query-param="REQUESTER"/>
         <with-param name="SECURITYCODE" query-param="SECURITYCODE"/>
      </call-query>
   </operation>
   <resource method="POST" path="/getBankCodes">
      <call-query href="getBankCodes">
         <with-param name="SOURCE" query-param="SOURCE"/>
         <with-param name="FUNCTION" query-param="FUNCTION"/>
         <with-param name="REQUESTER" query-param="REQUESTER"/>
         <with-param name="SECURITYCODE" query-param="SECURITYCODE"/>
      </call-query>
   </resource>

请参考以下问题

  • 如何发送分组的复杂嵌套输入参数
  • 在这种情况下如何获取输入参数作为响应(返回我作为输入发送的内容)。

关于

谢谢

1 个答案:

答案 0 :(得分:1)

如何发送分组的复杂嵌套输入参数 提取相应的参数是中介逻辑。因此,您必须在EI中编写代理服务/ API才能从请求中提取内部参数集并调用数据服务。

在这种情况下如何获取输入参数作为响应(返回我作为输入发送的内容)。 编写调解逻辑时,您可以执行相同的操作。