Custom Party Resolution in BizTalk 2013 R2
During migrating a BizTalk solution from 2006 R2 to 2013 R2 I encountered a problem with custom party resolution.
The SDK provides a PartyResolver Pipeline component that essentially wraps up [admsvr_GetPartyByAliasNameValue] stored procedure in the BizTalkMgmtDb. This allows you to resolve a BizTalk Party based on whatever data you fancy.
This 'party' management changed in BizTalk Server 2010 to 'Trading partner management', which seems to add a couple of levels of nesting in and changes the configuration screens around. Most crucially, any custom properties you tap into the Party configuration screen get serialised and saved as a binary blob in the BizTalk database.
This means the stored proc above cannot query the field and nothing works. Argh. Luckily, you can still find the old screen, it's just buried a bit deeper.
A Party now has the concept of multiple Profiles. This is to allow enterprises with different divisions that do things differently to have a common parent and specific settings for specific things. It is in this we find the legacy screen. By default a profile will be created, you can edit the properties on this to add more properties - but again, this won't work. You need to go to the identities tab before you get the correct screen. Properties entered here can be used with the PartyResolver component.