BizTalk WCF-SQL类型存储过程响应架构
为类型化存储过程生成响应模式,存储过程在返回最终结果集之前进行了一些数据库更新。VisualStudio生成的响应模式有相当多的垃圾 有没有办法强迫它生成更干净的模式BizTalk WCF-SQL类型存储过程响应架构,biztalk,Biztalk,为类型化存储过程生成响应模式,存储过程在返回最终结果集之前进行了一些数据库更新。VisualStudio生成的响应模式有相当多的垃圾 有没有办法强迫它生成更干净的模式 StoredProcedureResultset4是唯一重要的问题。以下是我从MSDN得到的相同答案。不幸的是,标记的答案对您不起作用,因为无法从被调用的存储过程中捕获和抑制结果集,或者说这非常非常困难 原因与存储过程代码有关 该向导将仅为SQL Server响应中返回的元素生成架构类型。这意味着,存储过程将为这些更新发送结果,
StoredProcedureResultset4是唯一重要的问题。以下是我从MSDN得到的相同答案。不幸的是,标记的答案对您不起作用,因为无法从被调用的存储过程中捕获和抑制结果集,或者说这非常非常困难 原因与存储过程代码有关 该向导将仅为SQL Server响应中返回的元素生成架构类型。这意味着,存储过程将为这些更新发送结果,因此您可以为它们获取元数据 解决此问题的方法是修改SP代码,使其不会在任何不应该发出的操作上发出任何结果。基本上,如果您在SQLManagementStudio的结果窗口中看到它,您将得到它的模式 状态和消息可能是另一个SP的结果,因此抑制的一种方法是将结果分配给临时表,从而将其重定向到输出流 但是,如果StoredProcedureResultset4是最重要的,那么您只需要使用它。忽略所有其他结果没有什么错,只要它们总是以相同的顺序出现 需要明确的是,您仍然需要编写抑制不需要的结果的包装器,仅从新SP调用原始SP不会更改输出,您仍然会得到额外的结果集 事实上,包装器将是更难实现的,因为您必须捕获并检查我认为不可能的所有结果集
在BizTalk中执行此操作更正确的方法是使用端口映射剥离不需要的内容。需要查看您的SP代码,但这几乎可以肯定是因为SP中有多个SELECT语句。注释掉或删除除重要语句以外的所有语句。我认为端口映射更有意义,我要开发一个规范模式,在端口上映射,这样就不再关心额外的结果集了。