我试图在BizTalk(2013)中使用Web服务,但构建过程最终消耗3 GB内存并在10分钟后退出而未指定错误。
我不确定我做错了什么,或者只是将WSDL放在一起的方式。任何建议将不胜感激!
复制问题的步骤
注意:删除"检索" node仅解决了RetrieveRequest的问题。
我不确定这是否相关,但我注意到复杂类型" DataFolder"有一个名为" ParentFolder"它是复杂类型的DataFolder。 WSDL中还有许多其他类似的实例,所以我希望这不是问题!
答案 0 :(得分:3)
我尝试在BizTalk 2010(Visual Studio 2010)中复制它,并看到了类似的内存使用模式。但是在5分钟后,我确实在地图的.cs文件中出现了一些错误,包括Exception has been thrown by the target of an invocation
或System.OutOfMemoryException
异常。
其他错误与无效声明的私有const字符串有关。
public sealed class MapName : global::Microsoft.XLANGs.BaseTypes.TransformBase {
private const string _strMap = ;
private const string _strArgList = ;
要消除内存不足异常,请右键单击地图并在XML(文本)编辑器中打开。查找GenerateDefaultFixedNodes="Yes"
并替换为No
并重新编译。
这意味着如果没有映射到目标模式,它就不会在目标模式中创建具有默认值的节点。
我还发现有必要映射至少一个字段以消除其他错误。
如果你想知道我是如何解决这个问题的。我对另一个模式有类似的体验,我遇到了这个博客BizTalk Mapping – fixing huge maps来解释原因(一个巨大的XSD文件)以及解决它的技巧。