Download WinSCP 5.7.7 for BizTalk 2016 (or 5.15.4 for BizTalk 2020)

According to BizTalk 2016 install requirements, if you want to use the SFTP adapter, you need to install a specific version (5.7.7) of WinSCP. If you follow the link on that page, it takes you to the current release, and there’s no obvious way to find the previous downloads. BUT – see the note below. […]

Windows Path to the BizTalk “GAC” MSIL

I often use shortcuts and forget that this is the directory/path name to the Global Assembly Cache (where BizTalk .NET components are “GAC-ed”). c:\windows\Microsoft.NET\assembly\GAC_MSIL It’s NOT this one: C:\windows\assembly\GAC_MSIL See prior blog: What happened to the GAC in .NET 4.0 NOTE: This is not the “BizTalk GAC”, it’s just the .NET 4.0 and above GAC. […]

How to modify a every field on every document(row) in a MongoDB Collection to Lowercase/Uppercase

The first parameter after the find is the query, in this case {} indicates an empty query (do the following statements on all rows [documents] in the collection. <pre> db.yourCollectionName.find( {}, { 'desiredFieldname': 1 } ).forEach(function(doc) {   db.yourCollectionNameupdate(       { _id: doc._id},       { $set : { 'desiredFieldname' : doc.desiredFieldname.toLowerCase() } },       { multi: true }    […]

How to delete multiple columns (fields) from a MongoDB Collection

MongoDB is not SQL. There can be a schema to enforce types, but often there is no schema. You essentially have to update all the documents in the collection. <pre> db.yourcollectionname.updateMany({}, {     $unset: {         'field1': 1,         'field21,         'field31     } }) </pre> I believe the value of “1” is used after each field just because they […]

Python – Rule Engine Concepts – Calling Dynamic Code with Exec() and Eval()

Today I wrote a “proof of concept” program, that shows how one Python program can dynamically call another one, and pass variables back and forth between the two. Technically we aren’t calling the second program, we are executing it. It seems to run under as though it was manually coded as part of the primary […]

BizTalk Pipeline to Fix promotion: AS2ToInternal vs AS2To

Pipeline to fix the odd promotion of AS2To. See StackOverflow – Why field is promoted as AS2ToInternal instead of AS2To This C# pipeline code checks for that issues and fixes it by promoting the proper field. I never found out why it was happening and why it needed to be fixed. <pre> using System; using […]

EDI.Net – Library for processing EDI files

Did you ever want to know how to process (parse) or create EDI files by just using .NET C#? There is a great library that can help. I’m working on a new Udemy class that is an Intro to EDI (Electronic Data Interchange). Other than using more expensive enterprise systems like BizTalk, I wanted to […]

PowerShell – Format EDI files and Rename them based on contents

This is an enhancement to a prior blog: PowerShell RegEx Parse EDI. It takes that example to the next step and uses the parsed data to rename the file. It also formats the file by changing the end segment character to the same followed by a carriage-return and line feed. NOTE: Use this program at […]

LINQ/XML Query Expressions Examples

The following relates to the previous two blogs. You can get the surrounding code in that C# LINQ/XML example blog. LINQ can run against different data sources, including XML an SQL. So once you learn how to write the query expressions as shown below, you can switch back and forth between them with ease. This […]