user3911919
user3911919

Reputation: 43

BizTalk map infinite loop during build (easy to replicate)

I'm trying to consume a web service in BizTalk (2013) but the build process ends up consuming 3 GB of memory and quitting after 10 minutes without specifying an error.

I'm not sure if I'm doing something wrong or it's just the way the WSDL was put together. Any suggestions would be appreciated!

Steps to replicate issue

  1. Add Generated Items > Consume WCF Service > https://webservice.s6.exacttarget.com/etframework.wsdl
  2. Add new map
  3. Source Schema: anything
  4. Destination Schema: RetrieveRequest
  5. No actual mapping required. Build the project and watch your resources become consumed

Note: deleting the "Retrieves" node resolves the issue for RetrieveRequest only.

I'm not sure if this is related, but I noticed complex type "DataFolder" has an element named "ParentFolder" which is of complex type DataFolder. There are many other similar instances in the WSDL so I hope this isn't the problem!

Upvotes: 1

Views: 418

Answers (1)

Dijkgraaf
Dijkgraaf

Reputation: 11527

I tried reproducing it in BizTalk 2010 (Visual Studio 2010) and saw a similar memory usage pattern. However after 5 minutes I did get some errors in the .cs file of the map including either a Exception has been thrown by the target of an invocation or a System.OutOfMemoryException exception.

The other errors relate to the invalidly declared private const strings.

public sealed class MapName : global::Microsoft.XLANGs.BaseTypes.TransformBase {

    private const string _strMap = ;

    private const string _strArgList = ;

To eliminate the Out of Memory Exception right click the map and open in XML (Text) Editor. Find GenerateDefaultFixedNodes="Yes" and replace with a No and Recompile.

This does mean that it won't create nodes with default values in the target schema if nothing is mapped to them.

I also found it necessary to map at least one field to get rid of the other errors.

If you wonder how I worked this out. I had a similar experience with another schema and I came across this blog BizTalk Mapping – fixing huge maps to explained the cause (a huge XSD file) as well as the trick to resolve it.

Upvotes: 3

Related Questions