Missing Functoid in BizTalk 2013r2 Map

338 views Asked by At

I've picked source code for an existing BizTalk 2013r2 solution that I'm trying to compile using Visual Studio 2013.

I'm hitting the following error when trying to compile a map:

Mapper Compiler: Functoid not found: guid (2de6985a-3dff-46eb-a7d8-4fc884756860) with functoid id (54009). Check if the assembly implementing this functoid is present

I've scanned all the source code I was provided with and there's no sign of any custom functoid classes. Maybe I'm missing a reference to an open source functoid library but from what I can see in the .btm file, there's not much to go on:

<Functoid FunctoidID="31" Functoid-FID="54009" X-Cell="44" Y-Cell="196" Functoid-CLSID="2de6985a-3dff-46eb-a7d8-4fc884756860">
<Input-Parameters>
    <Parameter Type="constant" Value="ReceivedFileName" linkIndex="0" Guid="10eb4cb9-05b3-4e6e-b534-f3ee7ea8dadb" />
    <Parameter Type="constant" Value="http://schemas.microsoft.com/BizTalk/2003/file-properties" linkIndex="1" Guid="e9119104-6fb3-43ef-9d17-ada0568dc557" />
</Input-Parameters>

Any ideas?

2

There are 2 answers

1
Mark Brimble On BEST ANSWER

It sounds like you are missing a custom functoid. This is the reason I am not a fan of custom functoids. I prefer to put custom code in scripting functoids because it then goes with the map in source code. That custom functoid does not appear in any of the searches, for example BizTalk Server: List of Custom Functoids (Technet). So I think you are on your own.

Look for a custom assembly in C:\Program Files (x86)\Microsoft BizTalk Server 2013 R2\Developer Tools\Mapper Extensions or as bts_dev says in the GAC.

0
bts_dev On

Maps take reference from GACed assemblies, be it helper libraries or any other libraries. Custom functoids are also installed in GACed and then only can be added to tool boxes in Map editor.

Maybe on the source machine it was working as functoid assembly was deployed.

To resolve this issue, check the map project references and all referenced projects are building successfully.

There also may be a case of map assembly getting deployed when you tried to build the map project. But since it was deployed when VS solution was open it will not take reference to that deployed assembly yet. Try restarting the Visual Studio and open the solution again and then build the map project.