Monday, October 15, 2018

BizTalk Missing Hotfix 3062831 / 3000847


If you're reading this I can assume two things:
  1. You're using BizTalk Server 2013 R2 and recently ran into this SSO issue due to:
    1.  Setting up an Enterprise SSO cluster
    2.  Enterprise SSO disaster recovery
    3.  Promoting an Enterprise SSO server to the Master Secret Server (MSS)
    4.  Migration from an earlier version of Enterprise SSO
    5.  In-place upgrade from an earlier version of Enterprise SSO
    6.  Performing multiple Enterprise SSO V5 restore and backup sequences
  1. You went to Microsoft's KB article 3062831 / 3000847, and the Hotfix is no longer available (I've contacted Microsoft via MSDN incident ticket, and hopefully they'll restore it)
For my team, we ran into this issue due to restoring the SSO master secret key after a downgrade from Enterprise to Developer on our development servers (Charles Emes' approach to downgrade as well as upgrade BizTalk works great).

Note: Downgrading or upgrading was only tested for BizTalk 2013 R2, but should work as long as the versions are the same and you're only changing the edition.

After following Charles' guide, everything came back find except we were getting the notorious "Bad Data" WinMgmt due to a time stamp issue with restoring the master secret key in SSO.

Here's the Hotfix 3062831 Download if you need it (As a Microsoft tech sent me the file).

Again, hopefully the Hotfix KB 3062831 / 3000847 article will be fixed so users can download directly from Microsoft.

Happy Coding!
Read More

Saturday, February 17, 2018

MS SQL - Dynamic Table Columns Generated from SQL's XML Field

I was working on a project where I needed to archive various XML documents for various applications. The main concept was to store all XMLs in one table as a varbinary and their meta data would be stored in a smaller XML field called 'XMLProps'.

Key Requirements:
- Each application could have different meta data fields, but an application's fields must be the same for all of its data
- Application's meta data needs to be searchable, and the columns returned will need to be the meta data's XML fields
- All applications will store their XML data and meta data in one table

Key Issue Being Solved:
- This solution returns a table using the XML's SQL fields as the columns; thus producing dynamic columns per application.

Here's the SQL Fiddle (For those who want to play): http://sqlfiddle.com/#!18/35637/1/0

Here's the code with comments:

Read More

Thursday, February 15, 2018

C# - Load Assembly from Remote Server

Working on a C# reflection web project, I needed to load various dlls from a remote server's GAC_MSIL location. Armed with only a Turky Hill green tea and the assembly's full name, I set out on the web to seek some guidance.



Assuming:
- The dll is stored on the remote server's GAC_MSIL (Service will have read access)
- All dlls use .Net 4.0 framework
- We're using System.Reflection

Here is what I came up with:
Read More