WSO2 esb关于复杂服务的建议 - 验证当前的方法

时间:2012-12-19 14:21:26

标签: xml web-services wso2 wso2esb synapse

任何人都可以验证这种方法吗?我对ESB非常陌生,所以对我的最佳方法进行挣扎似乎是一个非常复杂的流程。 我正在使用WSO2 ESB(Apache Synapse)。

用例:

  1. 使用简单的两列读入cvs文件。
  2. 对于每一行,取一个值并传递给查找服务(ldap)以检索更多数据
  3. 从检索到的数据中获取其中一个值(对于每一行)并查找到另一个Web服务
  4. 将所有行合并为一条消息,然后将结果消息提交给外部Web服务
  5. 到目前为止的想法是1)使用vfs和smooks来解析csv。这看起来很简单,我已经到了可以在迭代介体中创建单独的xml消息来处理每一行的程度。然后2)将每一行传递给自定义中介以执行ldap查找。 3)获取该结果并使用其中一个元素传递给一个callout mediator,它返回一个值(基本上进行枚举查找)然后4)不知道还没有那么远。

    到目前为止,3的解决方案看起来非常复杂。 Callout介体期望一条消息是完整的Web服务消息,它与行xml的外观完全不同。我可以使用xslt将其转换为webservice的正确输入,但结果是完整的ws响应 - 我可以使用属性介体获取我感兴趣的值,但不知道如何将其插回到消息中。

    总而言之,这似乎不太适合esb,但直觉似乎我应该这样做。我当然可以用Java编写这些内容,但是很多内容似乎都出现在esb中。

    那么,有什么建议吗?真的很高兴继续完成细节但不是错误的。

    感谢 康拉德

1 个答案:

答案 0 :(得分:1)

For 3)您可以使用payloadfactory mediator创建要发送的自定义有效负载。我认为同一个中介对于再次创建响应非常有用。