2016-07-14 35 views
0

我们在.net应用程序中使用WSO2 ESB。我成功连接到我们的SQL Server 2014数据库,但我无法获取记录或执行任何操作。任何想法将不胜感激。WSO2 ESB,无法使用SQL Server数据库获取记录或执行操作

+0

使用ESB你如何记录要容易得多?你用过db查找中介吗?如果然后发布你创建的序列? – lakshman

+0

嗨,Mark,你可以查看'/repositiry/logs'目录中的'wso2carbon.log'是否有任何错误?请让我们知道是否有任何错误。另外请让我们知道您的ESB版本和您尝试执行的操作。 – Charitha

+0

我的解决方案:1.在WSO2 ESB中包含WSO2 DSS功能2.根据需要使用本地传输协议创建DS 3.将这些DS作为代理服务公开。 –

回答

1

ESB并非设计用于从数据库获取记录。

如果你使用DBLookup Mediator。 根据文档:DBLookup中介可以在结果集中的一行中设置属性。它不能返回多行

以及DBLookup将接收到的数据注入属性,并且这些属性在soap文档中不可见,它们只是作为属性元素驻留在轴引擎中。

U可以登录这些属性: 假设DBLookup确定结果的要素从数据库收到的ID,姓名,年龄,那么在哪里登录值:

<log> 
    <property name="ID" expression="get-property('id')" /> 
    <property name="NAME" expression="get-property('name')" /> 
    <property name="AGE" expression="get-property('age')" /> 
</log> 

可能的解决方案,使数行:

ESB中有可以帮助的模式。 Y可以管理DBLookup以字符串形式返回数据,其中包含所有用逗号分隔的主键。这些键是引用行,这些需要从数据库中获取。然后使用对每个调解器和xslt函数进行拆分,迭代密钥并使另一个DBLookup调用以获取与该密钥对应的实际数据。即使在此之后,你必须将这些数据属性注入到消息本身中。

这真的很难做出工作,很难调试。

安装DSS功能创建data_service,并要求它,当u需要使用任何中介呼叫的数据,发送

+0

谢谢!我们正在下载DSS,我认为这是我们错过的解决方案:)欣赏每个人的回应。 –

相关问题