所以我有一个编排,成功完成了我需要的一切。现在,我想重新使用业务流程中的逻辑,但是有一组略有不同的数据源。不是将业务流程复制并粘贴到另一个业务流程中,而是必须使用决策树来选择要调用哪个业务流程,而是考虑让我对SQL的调用更加动态。
例如,假设我有一个名为spGetUSCust的存储过程。我编写了业务流程编码,通过发送/接收端口调用SQL服务器,并在其上运行GetCust。它是使用强类型方法生成的,因此响应消息的类型为spGetUSCustResponse。
我现在想在同一个SQL服务器上调用spGetCACust。响应数据的格式(结构)与美国存储过程完全相同,但它们的名称不同。
所以我的问题是,我可以通过设置对将要进入代码中端口的消息的操作来实现吗?由于我的回复是强类型的,它是否会导致问题,即响应将来自CA程序而不是美国程序?如果是这样,我该如何解决?我可以使用通用响应,但它们返回XML ANY字段,我需要映射这些响应以便在业务流程中进一步使用。
答案 0 :(得分:0)
在消息分配形状中,您可以在请求消息上设置WCF.Action属性,如下所示:
MySQLRequest(WCF.Action)= “TypedProcedure / DBO / spGetUSCust”;
您可以使用相同的物理端口,并且必须删除“操作映射”部分中的任何内容。
但是,由于请求消息是不同类型,因此您需要两个业务流程端口,一个美国,一个CA.