Quantcast
Channel: BizTalk – SANDRO PEREIRA BIZTALK BLOG
Viewing all 287 articles
Browse latest View live

How to Check/Get the list of all BizTalk Cumulative Updates installed in the machine with PowerShell

$
0
0

We cannot rely on documentation, if they exist, to be accurate, special regarding to the status of the machines present in the environment – I never found this kind of document that tell me what is installed on the machine, what are the updates (or CU) or service pack installed and so on… and regarding to BizTalk Server I do not remember another simple task like this, get or check the list of all BizTalk Cumulative Updates installed in your machine/environment, being so painful to perform!

Of course, there are some ways to check that, for example:

  • you can do it manually by checking “Control Panel\Programs\Programs and Features” and then view the “Installed Updates”, however, this can be a very annoying task and sometimes time consuming just to try find them in that huge list because they are not organized in a category BizTalk

BizTalk-CU1-In-RosettaNet-Category

BizTalk-CU2-and-3-In-UDDI-Category

  • you can use BizTalk MsgBoxViewer but still if you only want to check what CU are installed, or you need to analyze your entire system with this tool, or you need to uncheck all the select default queries and check only for the cumulative updates – which can also be an annoying and time consuming task

Check-BizTalk-CU-with-MsgBoxViewer

Check-BizTalk-CU-with-MsgBoxViewer-result

Probably there are other ways, nevertheless, I just want a quick and very easy way, because this is a basic and very simple task, to know what are the BizTalk Cumulative Updates installed likeConfused smile

This is the list of BizTalk Cumulative Update installed in this machine: BTS2013R2LAB01
- Microsoft BizTalk Server 2013 R2 CU1
- Microsoft BizTalk Server 2013 R2 CU2
- Microsoft BizTalk Server 2013 R2 CU3

This way I know that I need to install the last CU available: “Microsoft BizTalk Server 2013 R2 CU4”. Yehhh!

PowerShell script overview

So how can we easily automate tasks? and reuse them whenever necessary and at the same time saving significant time for other tasks?

Using PowerShell is a good option. Windows PowerShell is a Windows command-line shell designed especially for system administrators and can be used by BizTalk administrators to help them in automating repetitive tasks or tasks that are time consuming to perform manually.

This is a simple script that allows you to configure the template name of the cumulative updates, that will change from version to version, and will give you the list of all cumulative updates installed in your machine:

$keyResults = Get-ChildItem -path HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ -Recurse -ErrorAction SilentlyContinue | where { $_.Name -match $CUNameTemplate}

foreach($keyItem in $keyResults)
{
    if ($keyItem.GetValue("DisplayName") -like "*$CUNameTemplate*")
    {
        write-host "-" $keyItem.GetValue("DisplayName").ToString().Substring(0,$keyItem.GetValue("DisplayName").ToString().IndexOf(" CU")+4)
    }
}

THIS SQL SCRIPT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND.

After install the CU4 in my machine the result was what I was expecting:

This is the list of BizTalk Cumulative Update installed in this machine: BTS2013R2LAB01
- Microsoft BizTalk Server 2013 R2 CU1
- Microsoft BizTalk Server 2013 R2 CU2
- Microsoft BizTalk Server 2013 R2 CU3
- Microsoft BizTalk Server 2013 R2 CU4

You can download the PowerShell Script used here from:

Check all BizTalk Cumulative Updates installed in server with PowerShell (2 KB)
Microsoft | TechNet Gallery



BizTalk Mapper Extensions UtilityPack for BizTalk Server 2013 R2 Updated to v1.9.1.0

$
0
0

Exciting news… Version 1.9.1.0 of BizTalk Mapper Extensions UtilityPack for BizTalk Server 2013 R2 and 2013 is now available!

Here’s the change-log for this release:

  • Updated Logical Functoids:
    • The project has sign strong name key solving an issue regarding to “Unable to add BizTalk.Logical.Functoids.dll to the GAC (version 1.9.0.0)” – However, this is a false problem or a BizTalk Deployment Framework that always put functoid assemblies in the GAC, because these functoids are doesn’t need to be place inside the GAC.
  • Updated CRM Functoids:
    • CRM Lookup Functoid: This functoid was updated. This functoid allows you to retrieve a value from CRM lookup field. But now this functoid is also able to performs lookup operation using two different approach: Accessing the CRM database (read-only), for local CRM integration or through the CRM web services if you want avoid giving access to the database or if you have to integrate CRM online.
The new CRM Lookup Functoid

One of the biggest changes in this new version was made by Salvatore Pellitteri that decided to change the previous CRM Lookup Functoid (also created by him) by adding additional features.

This functoid, has the previous one, allows you to retrieve a value from CRM lookup field. However, this new version of the functoid is able to performs lookup operation using two different approach:

  • Accessing the CRM database (read-only), for local CRM integration
  • Through the CRM web services if you want avoid giving access to the database or if you have to integrate CRM online.
Parameters

The functoid takes five mandatory input parameters:

  1. SSO Application Name: the connection parameters are stored inside SSO. Here you have to specify the application name where you decide to store the settings. This allow you to have multiple CRM environments that you can integrate;
  2. CRM Guid Field Name: key field name of which you want to get the value;
  3. CRM Entity Name: CRM entity name on which the resolution will be performed
  4. CRM Input Field Name: imagining having a “code” as input and you want to know the CRM physical key, in this attribute should specify the name of the “code” field.
  5. CRM Input Value: value from source system to resolve

The output of the functoid is a string, Example: 6erg5r-sdrf56-4dfgt5-6ty5r4-456trt 24

new-CRM-Lookup-Functoid-1910

Installation

Create a SSO application.

SQL Server Lookup

Create the following SSO configuration parameters:

  • CrmConnectionType: “sql”
  • CrmDatabaseConnectionString: specify the CRM database connection string

Open SQL Server management console, connect to CRM database and execute the script under CRMLookup.sql file in project folder.

Local CRM web services lookup

Create the following SSO configuration parameters:

CRM Online web services lookup

Create the following SSO configuration parameters:

You can found and download Source Code, Application Binaries and Documentation in CodePlex BizTalk Mapper Extensions UtilityPack home page:

BizTalk Mapper Extensions UtilityPack
CodePlex

 

or from MSDN Code Gallery:

BizTalk Mapper Extensions UtilityPack for BizTalk Server 2013 R2 (685.6 KB)
Microsoft | MSDN Code Gallery


Microsoft Integration Stencils Pack v2.3 for Visio 2016/2013 is now available

$
0
0

Instead of trying to archive everything I want at once, what will probably take me long time, I decided to publish another version of my Microsoft Integration Stencils Pack with an additional of 80 new shapes and some reorganization. With these new additions, this package now contains an astounding total of ~911 shapes (symbols/icons) that will help you visually represent Integration architectures (On-premise, Cloud or Hybrid scenarios) and solutions diagrams in Visio 2016/2013. It will provide symbols/icons to visually represent features, systems, processes and architectures that use BizTalk Server, Microsoft Azure and related technologies.

  • BizTalk Server
  • Microsoft Azure
    • BizTalk Services
    • Azure App Service (API Apps, Web Apps, Mobile Apps, PowerApps and Logic Apps)
    • Microsoft Flow
    • Event Hubs
    • Service Bus
    • API Management, IoT and Docker
    • Machine Learning, Stream Analytics, Data Factory, Data Pipelines
    • and so on
  • PowerBI
  • PowerShell
  • And many more…

The Microsoft Integration Stencils Pack v2.3 is composed by 8 files:

  • Microsoft Integration Stencils v2.3 (406 Shapes)
  • MIS Apps and Systems Logo Stencils v2.3 (109 shapes)
  • MIS IoT Devices Stencils v2.3 (131 shapes)
  • MIS Support Stencils v2.3 (108 shapes)
  • MIS Servers and Hardware v2.3 (45 shapes)
  • MIS Originals v2.3 (42 shapes)
  • MIS Users v2.3 (40 shapes)
  • MIS Devices v2.3 (30 shapes)

If you are wonder where is v2.2? yes I skipped one version, version 2.2 was a private version Smile.

These are some of the new shapes you can find in this new version:

Microsoft-Integration-Stencils-Pack-v2.3-new-shapes

You can download Microsoft Integration Stencils Pack for Visio 2016/2013 from:

Microsoft Integration Stencils Pack for Visio 2016/2013 (7,7 MB)
Microsoft | TechNet Gallery


Updated some of my useful BizTalk PowerShell scripts, check it out!

$
0
0

I just updated three of my useful BizTalk PowerShell scripts in some cases fixing some small bugs, improving performance and in other cases adding also new capabilities.

PowerShell to configure Default Dynamic Send Port Handlers for each Adapter: This is a simple script that allows you to configure the default send handlers associated with all the existing Dynamic Send ports in your environment

  • In this new release I fixed some small bugs in the code that were not allowing the script to work as expected.

Check more about the script here: BizTalk DevOps: How to configure Default Dynamic Send Port Handlers with PowerShell

The full script can be found and download on Microsoft TechNet Gallery:
PowerShell to configure Default Dynamic Send Port Handlers for each Adapter (3.0 KB)
Microsoft TechNet Gallery

 

PowerShell to Configure the Default Send Handler for each static Send Port: This is a simple script that allows you to configure the Send handler associated with all the existing Static Send Ports in your environment independently of the adapter that is configured.

  • In this new release I fixed some small inconsistencies in the code, nevertheless in this case the previous script was working fine.

Check more about the script here: BizTalk DevOps: Configure the Default Send Handler as the Send Handler for each existing static Send Ports with PowerShell

The full script can be found and download on Microsoft TechNet Gallery:
PowerShell to Configure the Default Send Handler for each static Send Port (3.0 KB)
Microsoft TechNet Gallery

 

Monitoring BizTalk Server Ports with Auto-Healing capabilities with PowerShell: This is a simple script that allows you to monitor your BizTalk environment for disabled receive locations and stopped or unenlisted send ports, and automatically resume then according to certain conditions, using PowerShell.

In this new release:

  • I improved the general performance of the script
  • And add a new feature to the script: the ability to save a copy of the monitor report in the hard drive or a shared folder.

Check more about the script here: BizTalk DevOps: Monitor your BizTalk environment using PowerShell –Monitoring Ports (Stopped/disabled/unelisted) with Auto-Healing capabilities

The script can be found and download on Microsoft TechNet Gallery:
Monitoring BizTalk Server Ports with Auto-Healing capabilities with PowerShell (14.0 KB)
Microsoft TechNet Gallery

 

So, why these script are important?

All of these task can be easily made manually but they are time consuming tasks, special the monitor task if you don’t have the proper monitor tools like BizTalk360 or other tools available in the market. These PowerShell scripts allows you to automate and streamline these tasks saving us a considerable amount of time.

THESE POWERSHELL ARE PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND.


Because BizTalk Server 2016 is almost here… take a look to the new BizTalk Server logotype

$
0
0

After Microsoft announced today that BizTalk Server 2016 just reach RTM, however is not yet public available for download – that is the 10th major release of BizTalk Server – bringing several new capabilities like:

  • Support for the latest platform versions: Windows Server 2016, SQL Server 2016, Office 2016 and Visual Studio 2015
  • SQL Server AlwaysOn Availability Groups: This is an important feature that provides a highly available solution in Azure, and on-premises.
  • Hybrid Connectivity: BizTalk Server 2016 not only provides comprehensive on-premises application integration capabilities, but can now connect to SaaS applications, use enterprise cloud messaging to interact with partners and vendors and take advantage of the numerous Azure services like Functions, Cognitive Services, Machine Learning and more – all through the Azure Logic Apps adapter available in BizTalk Server 2016.

BizTalk-Server-2016-Release-Newsletter

BizTalk-Server-2016-Release-Facebook

I decided to make available the new BizTalk Server logo version (2016) in a vector format similarly to what I already done with the previous versions of the product: BizTalk Server 2013 R2 logo, BizTalk Server 2013 logo and the BizTalk Server 2010 logo.

microsoft-biztalk-server-logo

This is a collection of 6 different image formats of the new BizTalk Server logotype (2016), five of them are available in vector format that will allow you to use and resize without losing quality.

  • logo-microsoft-biztalk-server.ai
  • logo-microsoft-biztalk-server-linhas.ai
  • logo-microsoft-biztalk-server-linhas.eps
  • logo-microsoft-biztalk-server-linhas.pdf
  • logo-microsoft-biztalk-server-linhas.svg
  • logo-microsoft-biztalk-server.jpg

that can be used to customize a banner for your blog, an article, making flyers, stickers, brochure or rollups for BizTalk events.

You may ask yourself that something is missing in that logo! Where is the “2016” designation? Well if you look in BizTalk Server Facebook page and Twitter page you may see that Microsoft already started to use the new logo. Basically they simplify the Logo by dropping the year designation and the server icon and now is just plain text.

You can also find the new logo in my lastest release of Microsoft Integration Stencils Pack

BizTalk-Server-2016-Visio-Stencil

Finally, I would like to say thanks to António Lopes (UX/UI DESIGNER at DevScope) for helping me creating these resources.

BizTalk Server logo in vector format (3.8 MB)
Microsoft | TechNet Gallery


Installing (and Configure) BizTalk Server 2016 in a Standalone Machine (whitepaper)

$
0
0

Microsoft announced on October 27, 2016 the release of Microsoft BizTalk Server 2016 – the 10th major release of BizTalk Server –and, as usual with previous versions, I updated my installation and configuration manual for BizTalk Server 2016. This whitepaper will explain in detail – a step-by-step guideline – how to install and configure Microsoft BizTalk Server 2016 on a standalone environment running Windows Server 2016. This information will help you plan the installation and configuration of BizTalk Server 2016, applications and components on which it depends focused on creating a development environment (you can also follow this tutorial to help you create production environments, however if this is the case you need to skip some steps).

BizTalk-Server-Installation-scenario

Assumptions and out of scope

It will be assumed that the operating system: Windows Server 2016 and latest critical Windows updates from Microsoft already have been installed.

In this scenario, it will be performed a full installation of Microsoft BizTalk Server 2016, with the exception of the deprecated SharePoint Adapter (SharePoint Services Service Side Object Model (SSOM)). The following components will be installed:

  • Enterprise Single Sign-On (SSO).
  • BizTalk Group.
  • BizTalk Runtime.
  • Business Rule Engine.
  • BAM Tools and Alerts.
  • BAM Portal.
  • BizTalk EDI/AS2 Runtime
  • Microsoft BizTalk Adapters for Enterprise Applications (BizTalk Adapter Pack)
What’s in store for you?

By reading this whitepaper, you will understand:

  • Important considerations before setting up BizTalk Server 2016
  • Prerequisites for installing BizTalk Server 2016
  • Step by step process of installing BizTalk Server 2016 on Windows Server 2016
  • Best ways in which you can optimize your BizTalk Server 2016 environment
  • Hardware and Software requirements
  • Basic Configuration vs. Custom Configuration

Installing-Configure-BizTalk-Server-2016-Standalone-Machine

Contents
  • BizTalk Server Installation scenario
    • Assumptions and out of scope
  • Important considerations before set up the server.
    • Join the Local Administrators Group.
    • Change the Machine name.
    • Turn off Internet Explorer Enhanced Security Configuration (optional)
    • Disable User Account Control (optional).
    • Turn Windows Firewall off (optional).
    • Configure the Application Event Log.
    • Configure Microsoft Distributed Transaction Coordinator (MS DTC).
    • Customize Taskbar and Start Menu Properties (optional).
    • Set the default browser.
    • Install Critical Windows Updates.
  • Preparing and install prerequisites for BizTalk Server 2016.
    • Important considerations before set up the servers.
    • Enable Internet Information Services.
      • Running the BAM Portal in a 64-bit Environment.
    • Install Windows Identity Foundation (WIF) (optional).
    • Install and configure SMTP Server Feature (optional)
      • Verify Your Installation
    • Install Microsoft Office Excel 2016 (optional).
      • Installing and configuring Office 2016 Deployment Tool
      • Installing Microsoft Office Excel 2016
    • Install Visual Studio 2015 (optional).
      • Remove Microsoft SQL Server Express.
    • Install SQL Server 2016.
    • Configure SQL Server Database Mail feature.
  • Install and configure BizTalk Server 2016.
    • Install BizTalk Server 2016.
      • Verify Your Installation.
    • Configure BizTalk Server.
      • Pin BizTalk Server Administration to taskbar.
    • Configure SQL Server Network Configuration protocols.
    • Validate Mail account used by BizTalk to send BAM Alerts.
    • Install BizTalk Adapter Pack
      • Microsoft BizTalk Adapter Pack and Microsoft BizTalk Adapter Pack (x64).
      • Steps to install BizTalk Adapter Pack.
      • Add adapters to BizTalk Administration Console.
    • Install Critical Windows Updates and BizTalk Server Cumulative Update Package.
    • Configure BizTalk Server SQL Jobs.
      • How to configure Backup BizTalk Server (BizTalkMgmtDb).
      • How to configure DTA Purge and Archive (BizTalkDTADb).
      • MessageBox_Message_Cleanup_BizTalkMsgBoxDb.
  • Optimize the BizTalk Server 2016 environment
    • Deleting BizTalk backup files.
      • Implementing a custom sp_DeleteBackupHistory.
      • Implementing a Maintenance Plan to clean BizTalk Database backup’s files.
    • Pre-allocate space and define auto-growth settings for BizTalk Server databases.
    • Configure BizTalk Server Windows Services.
    • Install and configure BizTalk Health Monitor.
      • How to register BizTalk Health Monitor Snap-In.
      • How to integrate BHM Snap-In into BizTalk Admin Console
    • Configure BizTalk Jobs History (Microsoft SQL Server Agent job history log).
      • To resize the job history log based on raw size.
    • Managing and cleaning BizTalk Server MarkLog database tables.
    • Configure host and Host instances.
      • What’s is Host, Host Instances and Adapter Handlers?.
      • Best practices to Configuring Hosts and Host Instances.
      • How can I automate this task?.
    • Power Mode.
    • Consider setting the ‘text in row’ table option to boost BizTalk Server Performance
      • How to exploit the Text in Row table option in BizTalk Server
  • Appendix A: Hardware and Software Requirements
  • Appendix B: Redistributable CAB Files
  • Appendix C: Basic Configuration vs. Custom Configuration

 

Download the whitepaper for free here: Installing BizTalk Server 2016 in a Standalone Machine

Installing-Configure-BizTalk-Server-2016-Standalone-Machine-vertical

If you are interest to see other version check the following posts:

 

I would like to take this opportunity also to say thanks to Lex Hegt for reviewing this whitepaper.

Download the whitepaper for free here: Installing BizTalk Server 2016 in a Standalone Machine


An error occurred while attempting to connect to a remote SQL Server database: The local MS DTC detected that the MS DTC on … has the same unique identity as the local MS DTC

$
0
0

Today I’m returning to one of my favorites topics … no not transformations, this time is all about “Errors and Warnings, Causes and Solutions”.

Today I encountered the following issue when I was trying to connect to a remove SQL Server database:

“The local MS DTC detected that the MS DTC on <server name> has the same unique identity as the local MS DTC. This means that the two MS DTC will not be able to communicate with each other. This problem typically occurs if one of the systems were cloned using unsupported cloning tools. MS DTC requires that the systems be cloned using supported cloning tools such as SYSPREP. Running ‘msdtc -uninstall’ and then ‘msdtc -install’ from the command prompt will fix the problem. Note: Running ‘msdtc -uninstall’ will result in the system losing all MS DTC configuration information.”

MSDTC-has-the-same-unique-identity

CAUSE

The error message is quite lucid about the main reason of this error, this normally occurs when the machines are cloned: “systems be cloned using supported cloning tools such as SYSPREP.

SOLUTION

This is one of those very few cases that the error message will give us the actually cause of the problem and the solution: “Running ‘msdtc -uninstall’ and then ‘msdtc -install’ from the command prompt will fix the problem.”

So, to solve this problem you need to:

  • Click Start, and then click Command Prompt.
  • At the command prompt, type “msdtc -uninstall”, and then press ENTER.
  • At the command prompt, type “msdtc -install”, and then press ENTER.

Note: To perform this procedure, you must have membership in Administrators, or you must have been delegated the appropriate authority.

However, after I resolve this condition by uninstalling and then reinstalling the Microsoft Distributed Transaction Coordinator service (MSDTC), when I access the BizTalk Administration Console and try to refresh (F5) the Group Hub Page I got this additional error:

“The Microsoft Distributed Transaction Coordinator (MSDTC) may not be configured correctly. Ensure that the MSDTC service is running and DTC network access is allowed on the BizTalk, SQL and SSO Master servers. For more information, see "MSDTC Configuration settings required for BizTalk Server" in the BizTalk Server Help.”

MSDTC-may-not-be-configured-correctly

I try to restart the MSDTC service or other services like the Enterprise Single Sign-On Service without any success… to avoid spending more time around this issue, and because this was a DEV standalone machine, I decided to restart the server… and that did the trick, after the restart everything was working without any problem.


Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) while trying to deploy a BizTalk Solution from Visual Studio

$
0
0

Continuing with “Errors and Warnings, Causes and Solutions”, let’s talk today about a classic (and annoying) one:

“Error 87 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

Error 88 at Microsoft.BizTalk.Gac.Fusion.IAssemblyCache.InstallAssembly(AssemblyCacheInstallFlag flags, String manifestFilePath, IntPtr referenceData)

at Microsoft.BizTalk.Gac.Gac.InstallAssembly(String assemblyPathname, Boolean force)

at Microsoft.BizTalk.Deployment.BizTalkAssembly.GacInstall(String assemblyLocation)

at Microsoft.BizTalk.Deployment.BizTalkAssembly.PrivateDeploy(String server, String database, String assemblyPathname, String applicationName)

at Microsoft.BizTalk.Deployment.BizTalkAssembly.Deploy(Boolean redeploy, String server, String database, String assemblyPathname, String group, String applicationName, ApplicationLog log)

Error 89 Unspecified exception: "

Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))"

Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

Error 90 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

Error 91 Failed to add resource(s). Change requests failed for some resources. BizTalkAssemblyResourceManager failed to complete end type change request. Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

Error 93 Assembly "<name of the assembley>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6d6ddb8f4f8e0e50" references the following assemblies that must be deployed before deploying this assembly:

Assembly "<name of the assembley>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6d6ddb8f4f8e0e50"

Error 94  Deploy operation failed.

""

Assembly "<name of the assembley>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6d6ddb8f4f8e0e50" references the following assemblies that must be deployed before deploying this assembly:

Assembly "<name of the assembley>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6d6ddb8f4f8e0e50"”

Visual-Studio-BizTalk-Solution-Deploy-Access-denied

while trying to deploy from Visual Studio a BizTalk solution.

This is actually very common in the recent versions of BizTalk Server, special because some additional securities setting present in recent Windows Server versions.

CAUSES

There are several possible causes for you to get access denied errors when deploying BizTalk solutions directly from Visual Studio. Here are some of the most common causes that you need to take in consideration and check for:

  • You are not a local Administrator: make sure you have administrator rights on the BizTalk server, this is required because BizTalk assemblies needs to be deployed into GAC;
  • You don’t have the right BizTalk privileges to deploy artifacts: Make sure the user account that is trying to deploy the Visual Studio BizTalk Solution is member of:
    • BizTalk Server Administrators group
    • And also, member of SSO Administrators or SSO Affiliate Administrators group

This is required because BizTalk artifacts needs to be “registered” in BizTalk databases and these memberships should grant you the required access to the databases;

  • Visual Studio BizTalk Deployment properties are incorrect: Visual Studio use the setting present in Deployment tab of each BizTalk project present in the visual studio solution to correctly deploy the artifacts (dlls). You should verify that your deployment configurations are correct by right-clicking the project in Visual Studio, selecting “Properties” and then click the Deployment tab. The most important properties that you need to check should be “Configuration Database” and “Server”, validate if they are what you expect them to be, and you should also check the “Application Name” property. Check more about Deployment Properties here: How to Set Deployment Properties in Visual Studio;
  • You are not running Visual Studio as administrator: If you have UAC activate, or sometimes even disactivated, there are some additional securities setting present in recent Windows Server versions that, by default, doesn’t run Visual Studio with elevate permissions. Again, this is required because BizTalk assemblies needs to be deployed into GAC;
  • Some process is locking the files: in some situations, some other processes, other Visual Studios or BizTalk Host Instances, may have a lock on the file(s) you are trying to replace, in these cases, stopping or restarting these services before deploying the solution should help.
SOLUTIONS

In the causes, I already described the basic steps to solve this error based on the situation you are in, so I will not address in detail here all the possible solution. In my case, and I think that is the most common situation, was that, despite having disabled the UAC, I was running the Visual Studio without elevate permissions.

There are several ways to solve this problem (running Visual Studio with elevate permissions), the simple way of course is to:

  • On the Start screen, type Visual Studio.
  • Right-click under Visual Studio and choose “Run as administrator” option.

Visual-Studio-run-as-administrator-Access-denied

The problem of this approach is that I need to remember myself to do it whenever I want to run Visual Studio, otherwise, the next time it will fail again with the same error.

To resolve once and for all, you can opt for two approaches:

  • Option one:
    • Access to the devenv.exe file on the file system, for example: “C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE”
    • Right-click devenv.exe and select "Troubleshoot compatibility".

Visual-Studio-Troubleshoot-compatibility

    • On the “Select troubleshooting option” page, select "Troubleshoot compatibility" option.

Visual-Studio-Troubleshoot-compatibility-option

    • On the “What problems do you notice?” page, select the "The program requires additional permissions" option and then click “Next”

Visual-Studio-Troubleshoot-compatibility-problem-notice

    • On the “Test compatibility settings for the progem” page, click "Test the program…", wait for the program to launch and then click "Next".
    • Select "Yes, save these settings for this program"
    • and then click "Close"
  • Option two:
    • Right click the Visual Studio icon and select “Properties” option
    • On the Visual Studio … Properties windows select the “Shortcut” tab and then click “Advanced…” button
    • On the “Advanced Properties” window, check “Run as administrator” option and then click “OK”

Visual-Studio-run-as-administrator-advance-properties

    • Back to the Visual Studio … Properties windows, click “OK”


Failed to stop service WINMGMT while trying to apply BizTalk Server Cumulative Update

$
0
0

Being in The Netherland for the first time and provably inspired by the cold outside my hotel room, that discourages any "reasonable person" to walk in streets of Arnhem at night, let’s talk about another familiar problem that can occur in BizTalk Server. The error that I will address today is quite normal to appear when we are trying to apply Cumulative Updates (CU), and is probably transversal to all versions, in our BizTalk environment. I got it recently while I was trying to apply BizTalk Server 2013 R2 CU1:

Failed to stop service WINMGMT

Failed-to-stop-service-WINMGMT

Be aware that for example BizTalk Server Administration console relies on Windows Management Instrumentation (WMI); more specifically, the BizTalk WMI Provider (BTSWMIProvider.dll).

WMI runs as a service with the display name "Windows Management Instrumentation" and the service name "winmgmt". WMI runs automatically at system startup under the LocalSystem account. If WMI is not running, it automatically starts when the first management application or script requests connection to a WMI namespace.

CAUSES

I actually don’t know the reasons that sometimes this problem occurs. Maybe we don’t “force” to run the setup “as an administrator” or because some of the dependent services failed to stop for some specific reason.

Normally, the CU setup will try to stop all the necessary or required services before it started to install the updates. But sometimes, to successfully install some of the cumulative updates, you should manually stop some of the following services before you start the installation:

  • Enterprise Single Sign-On (SSO) (Service Name: ENTSSO)
  • IIS Admin Service (Service Name: IISADMIN)
  • Windows Management Instrumentation (Service Name: Winmgmt)

Note: To determine whether there are any WMI processes active, use Windows Task Manager. Or, run the tasklist command from the Command Prompt and check whether "WmiPrvSE.exe" exists.

SOLUTION

You can easily solve this problem by manually stopping the Windows Management Instrumentation service (Winmgmt):

  • Click Start, click All Programs, and then click Accessories.
  • Right-click Command prompt, and then click “Run as administrator”.
    • Or, in the Start Search box, type cmd, and then press CTRL+SHIFT+ENTER.
  • At a command prompt, enter “net stop winmgmt”.

Note: if you don’t open command prompt as administrator you may end receiving an “Access is denied” message.

Failed-to-stop-service-WINMGMT-cmd


BizTalk Server WCF adapter: Unable to connect to the remote server. System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:8888

$
0
0

First of all, Happy birthday BizTalk Server for your 16th birthday! For does you don’ remember, the first version of BizTalk Server was release 12/12/2000, Congratulations!!

Continuing with the topic of my last posts “Errors and Warnings, Causes and Solutions”, we will talk about an error that I face today using the BizTalk Server WCF adapter while trying to communicate with an external WCF service:

System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at http://<ip/host name>/<ServiceName>.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. —> System.Net.WebException: Unable to connect to the remote server —> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:8888
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)

— End of inner exception stack trace —

at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context)
at System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStreamAsyncResult.CompleteGetRequestStrea

BizTalk-WCF-Adapter-Unable-to-connect-to-the-remote-server

If this problem happens, it normally means that the IP address or host name specify in the URL exists but: it has no services listening on the specified port or there is a firewall stopping you.

However, I try to open the URL using the browser in the BizTalk machine and I was able to access without any problem, which means, it wasn’t a firewall problem and the service exist on that specific port.

CAUSES

Again, this type of problem normally means that the IP address or host name specify in the URL exists but:

  • It has no services listening on the specified port;
  • Or there is a firewall stopping you.

But… it also can be a proxy problem that may be blocking the access to the service! In fact, this was my problem.

SOLUTION

I will not address the first two possible causes here, instead I will focus in what was my problem, proxies, and how can you solve it.

On the HTTP Transport bindings of the WCF adapter there are several properties to control the proxy, like:

  • proxyAddress: A URI that specifies the address of the HTTP proxy. If useSystemWebProxy is true, this setting must be null. The default is null.
  • proxyAuthenticationSchema: Specifies the protocol used for authenticating client requests being processed by an HTTP proxy. The default is Anonymous.
  • bypassProxyOnLocal: A Boolean value that indicates whether to bypass the proxy server for local addresses. The default is false.

and others properties. But also, contains a very important property: useDefaultWebProxy – this is a Boolean value that specifies whether the machine-wide proxy settings are used rather than the user specific settings. The default is true.

BizTalk-WCF-Adapter-useDefaultWebProxy-true

But how can you know there is a proxy set on the server?

You can check this using one of this two option:

  • You can open Command Prompt (CMD) and type the following command:

reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | find /i "proxyserver"

BizTalk-WCF-Adapter-check-if-proxy-is-set

  • Or Open the Internet Explorer and click the Tools button.
    • Click on Internet Options and then click on the Connections tab.
    • Click “LAN settings”.

BizTalk-WCF-Adapter-check-if-proxy-is-set-in-internet-explorer

    • You can also click in “Advanced” to check more details

If you notice in the pictures there is a default proxy set in the server and there are some exceptions defined in the Internet Explorer, a few names and some IPs. One of this IP’s was in fact the IP of the machine that was hosting the service that I was trying to communicate.

In my case to solve the problem I just need to set the useDefaultWebProxy property in the HTTP transport bindings of my WCF port to false.

BizTalk-WCF-Adapter-useDefaultWebProxy-false


Thanks! Awarded as Microsoft Azure MVP 2017

$
0
0

And the most expected email arrived once again on 1st January, thanks Microsoft for another wonderful start of New Year. Once again, I’m delighted to share that I was renewed as a Microsoft Azure MVP (Microsoft Most Valuable Professional), This is my 7th straight year on the MVP Program, an amazing journey and experience that started in 2011 as BizTalk MVP, which gave me the opportunity, and still does, to travel the world for speaking engagement, share the knowledge, and to meet the most amazing and skilled people in our industry.

azure-mvp-sandro-pereira

As usual, I would like to thank:

  • My MVP Lead Cristina Herrero
  • The BizTalk Product Team and Azure Teams like: Jim Harrer, Mandi Ohlinger, Tord G. Nordahl, Dan Rosanova, Jon Fancey, Paolo Salvatori, Kevin-Lam and Jeff-Hollan; Microsoft Portugal: Paulo Mena, Luís Calado, Ivo Ramos, Ricardo Jesus, Pedro Santos and all other Microsoft employees involved;
  • To DevScope (my company) and all my coworkers: no names here because all of them are amazing professionals – what an amazing team they are, so, thanks for all the support given.
  • To all my fellow Microsoft Integration MVP’s: Nino Crudele, Steef-Jan Wiggers, Saravana Kumar, Kent Weare, Mikael Håkansson, Johan Hedberg, Tomasso Groenendijk, Salvatore Pellitteri, Richard Seroter, Stephen W. Thomas, Mick Badran, Michael Stephenson, Bill Chesnut, Thomas Canter, Nicholas Hauenstein, Sam Vanhoutte, Glenn Colpeart, Howard S. Edidin, Martin Abbott, Leonid Ganeline and Ashwin Prabhu for the support in this program.
  • And special thanks to all my blog readers, friends and of course to BizTalk and Azure/Integration Community – there are so many that I don’t want to mention names so I don’t take the risk to forget someone.

Finally, my wife Fernanda, the kids Leonor and Laura (for all the “confusion and madness” they bring into my life), and to all members of my beautiful family… THANKS for all the support during this last years!

It’s a big honor to be in the program and I’m looking forward to another great year!

In my native language (Portuguese):

Obrigado Microsoft para outro maravilhoso início de Ano Novo. Estou muito feliz por poder partilhar com todos vocês que fui renomeado Azure Microsoft Most Valuable Professional (MVP)

Esta é a sétima vez que recebo este prémio e como é normal nestas ocasiões, gostaria de agradecer a todos os leitores do meu blog, amigos, a todos os membros da comunidade. Também gostaria de agradecer a minha MVP Lead Cristina Herrero, a todas as pessoas da Microsoft em especial à equipa de produto do BizTalk e Azure (Jim Harrer, Mandi Ohlinger, Tord G. Nordahl, Dan Rosanova, Jon Fancey, Paolo Salvatori, Kevin-Lam and Jeff-Hollan), Microsoft Portugal (Paulo Mena, Luís Calado, Ivo Ramos, Ricardo Jesus, Pedro Santos entre outros), a todos os meus colegas de trabalho na DevScope – que equipa maravilhosa, a todos os meus colegas Microsoft Integration MVP’s e a todos os MVP’s Portugueses .

Eu também gostaria de fazer um agradecimento muito especial à minha linda mulher Fernanda, as minhas traquininhas Laura e Leonor (por toda a "confusão e loucura" que trazem à minha vida) e à minha linda família por todo o seu suporte nestes últimos anos.

É uma grande honra estar no programa e espero continuar a contribuir para a comunidade BizTalk, e integração no geral, e a merecer o reconhecimento.


BizTalk Mapper: The map contains a reference to a schema node that is not valid. Perhaps the schema has changed. Try reloading the map in the BizTalk Mapper.

$
0
0

A few weeks ago, while improving an existing solution to fulfil the new business requirements, I encountered the following error while trying to validate or test a BizTalk map:

Exception Caught: The map contains a reference to a schema node that is not valid.  Perhaps the schema has changed.  Try reloading the map in the BizTalk Mapper.  The XSD XPath of the node is: /*[local-name()='<Schema>’]/*[local-name()=’MyRootNode’]/*[local-name()=’MyRecord]/*[local-name()=’MyElement’]

To contextualize the problem, the BizTalk Visual Studio solution I was working on was composed by several projects, but for the propose of this error, let’s say that we had two projects:

  • Schemas Project: containing all the schemas used by the BizTalk Solution;
  • Map Project: containing all the maps used by the BizTalk Solution;

I did the necessary changes on the source schema and they were automatically reflected in the map that I was working on without the need to rebuild the Schema Project. And when I try to test the map, after making all the necessary changes on it, I got the above error.

Which was a little awkward at the point because indeed I changed the contract of the source schema but it was reflect in the map that I was working on. Everything seemed fine, I even try to close and open the map again, but that did not solve the problem

CAUSES

Again, the reason for this error is awkward because the schemas changes were reflected on the map, even if it was a different solution and without rebuilding the Schema Solution. However, the cause for this error is that is referring an invalid or incorrect version of the Schema assembly.

SOLUTION

The solution to solve this issue is simple, you just need to rebuild the entire solution or rebuild the schema project before you try to validate or test the maps.

After the Schema project solution is rebuild the problem will disappear and you will be able to validate or test the map.


BizTalk Mapper: Inline Script Error… must declare a body because it is not marked abstract, extern, or partial.

$
0
0

While researching for my last post, Thinking outside the box (or not): How to create “Global C# function” to be reused inside a map?, in BizTalk360 blog, I encountered several errors while playing around with maps in order to find an approach that would allow me to create the concept of Global Function. And some of this errors were:

Inline Script Error: must declare a body because it is not marked abstract, extern, or partial

Inline Script Error: ; expected

or

Inline Script Error: Type ‘BizTalkMapper.FunctoidInlineScripts’ already defines a member called ‘FunctionName’ with the same parameter types

CAUSES

The cause for this problem is that you are not correctly declare the body of the Inline C# Function.

Or, if you are trying to reuse an existing Inline C# Function you are doing it properly.

To reuse Inline C# Functions this are the rules that you need to follow:

  • If all of the Scripting Functoids are in the same grid page: In the first Scripting Functoid, linked from the source to the destination, we will have to specify the body function and in the following functoids, we only need the function declaration (no body).
  • If the Scripting Functoids are in different grid pages: The Scripting Functoid that specifies the body function needs to be on the leftmost grid page and the remaining Scripting Functoids (with the function body declared) on the other grid pages to the right. In other words, counting the grid pages from left to right, if the Scripting Functoid that specifies the body function is on the second grid page, the remaining functoids with the function body declared, cannot be placed on the first grid page, they can only be placed from the second grid page (including the second).
SOLUTION

The solution to solve this issue you have two options, you need to follow the rules described above (BizTalk Mapper tips and tricks: How to reuse Scripting Functoids with Inline C# inside the same map) or you need to implement the concept of global C# Function described in my post: Thinking outside the box (or not): How to create “Global C# function” to be reused inside a map?, in resume:

  • Add a Grid page to your map and rename it to “GlobalFunctions”
  • Set this grid as the first grid page of your map (important steap)
  • Drag-and-Drop a Scripting Functoid to the “GlobalFunctions” grid page and place the C# code
  • Do not link any inputs and don’t map (link) this Scripting Functoids to any element in the destination Schema.
  • Double click the earlier Scripting Functoids added to the “GlobalFunctions” grid page and set the expected input values as empty constant values, that by default doesn’t exist
  • Now you can use these functions in other grid pages using only the function declaration

Microsoft Integration (Azure and much more) Stencils Pack v2.4 for Visio 2016/2013 is now available

$
0
0

After some requests from the community, I decided to update my Microsoft Integration Stencils Pack with an additional of 183 new shapes and some reorganization. With these new additions, this package now contains an astounding total of ~1094 shapes (symbols/icons) that will help you visually represent Integration architectures (On-premise, Cloud or Hybrid scenarios) and solutions diagrams in Visio 2016/2013. It will provide symbols/icons to visually represent features, systems, processes and architectures that use BizTalk Server, API Management, Logic Apps, Microsoft Azure and related technologies.

  • BizTalk Server
  • Microsoft Azure
    • BizTalk Services
    • Azure App Service (API Apps, Web Apps, Mobile Apps and Logic Apps)
    • Event Hubs
    • Service Bus
    • API Management, IoT and Docker
    • Machine Learning, Stream Analytics, Data Factory, Data Pipelines
    • and so on
  • Microsoft Flow
  • PowerApps
  • PowerBI
  • PowerShell
  • And many more…

The Microsoft Integration Stencils Pack v2.4 is composed by 11 files:

  • Microsoft Integration Stencils v2.4
  • MIS Apps and Systems Logo Stencils v2.4
  • MIS Azure Portal, Services and VSTS Stencils v2.4
  • MIS Azure SDK and Tools Stencils v2.4
  • MIS Azure Services Stencils v2.4
  • MIS Deprecated Stencils v2.4
  • MIS Devices Stencils v2.4
  • MIS IoT Devices Stencils v2.4
  • MIS Servers and Hardware Stencils v2.4
  • MIS Support Stencils v2.4
  • MIS Users and Roles Stencils v2.4

These are some of the new shapes you can find in this new version:

Microsoft-Integration-Stencils-Pack-v2.4

You can download Microsoft Integration Stencils Pack for Visio 2016/2013 from:

Microsoft Integration Stencils Pack for Visio 2016/2013 (9,1 MB)
Microsoft | TechNet Gallery


Custom BizTalk Functoid item template for Visual Studio 2015 is now available

$
0
0

Time to update and improve a very old project of mine: Item Template for Visual Studio 2010: Custom BizTalk Functoid. I really like this one because I normally create a lot of custom functoids and this will help me streamline my work. Be fast, more productive and avoid repeating and annoying task… that is my goal.

This template will allow you to easily create new Functoids for BizTalk Server 2016 – but I think it will also work for other versions of BizTalk/Visual Studio – without having to code the entire class and therefore allowing you to focus on what really matters, the functoid behavior. Just start a new Visual Studio C# library project, or open an existing one, and add a functoid class to start building your BizTalk Server custom Functoid.

Custom-Functoid-Class-Visual-Studio-2016

This will create a class with the basics skeleton necessary for you to start building your custom functoid, including adding the necessary references (DLLs) to your project. Again, the aim here is to you to focus on the logic of your custom functoid and not in the need to remember all the structure that you need to implement, or in the properties you need to override from the extended BaseFunctoid.

Custom-Functoid-Class-Visual-Studio-2016-new-function

How can I install the Item Template?

To use this item template in your C# library projects just download the project (Don´t unzip) and copy the compressed file to:

  • C:\Users\UserName\Documents\Visual Studio 2015\Templates\ItemTemplates\VisualC#.

You can download Custom BizTalk Functoid item template for Visual Studio 2015 from:

BizTalk Server: Custom BizTalk Functoid item template for Visual Studio 2015 (3 KB)
Microsoft Code Gallery



(Unofficial) BizTalk Server 2016 logo in vector format

$
0
0

This is a collection of 5 different image formats of the new Unofficial BizTalk Server 2016 logotype (check the official logo here), three of them are available in vector format that will allow you to use and resize without losing quality:

  • BizTalkServer2016-linhas.ai
  • BizTalkServer2016-linhas.eps
  • BizTalkServer2016-linhas.pdf
  • BizTalkServer2016-linhas-01.jpg
  • BizTalkServer2016-linhas-01.png

that can be used to customize a banner for your blog, an article, making flyers, stickers, brochure or rollups for BizTalk events.

Again, this is not the official logo. In the official logo, Microsoft decided to drop the fancy Server icon from the logo and the version identification, now it is a simple generic logo with just Text that will be consistent in this and further versions of BizTalk Server. But people sometimes prefer to use the “old” format just because it is easier to visual specify the version of BizTalk Server… for that reason only there you have!

Thanks to António Lopes (UX/UI DESIGNER at DevScope) for helping me creating these resources.

(Unofficial) BizTalk Server 2016 logo in vector format (2.4 MB)
Microsoft | TechNet Gallery


How to check what BizTalk Server 2016 Cumulative Updates are installed in your Servers with PowerShell

$
0
0

I previous wrote a post about how you can Check/Get a list of BizTalk Server 2013 R2 Cumulative Updates installed in your machines (see here) and why we cannot rely on documentation, if they exist, to be accurate, special regarding to the status of the machines present in the environment. Now it is time to update this script to BizTalk Server 2016.

Checking what CU are installed it is not a difficult task to do, but without a doubt it is one of the most annoying task to do as an administrator because, and once again:

  • you can do it manually by checking “Control Panel\Programs\Programs and Features” and then view the “Installed Updates”, try find them in the list can be sometimes very confuse because they are not organized in a category BizTalk;
  • Or rely in tools like BizTalk MsgBoxViewer, which sometimes are not up to date, to check and provide that information;

Probably there are other ways, nevertheless, this simple task should be simple, extremely easy and fast to do, what you really want to know is what are the BizTalk Cumulative Updates installed like:

This is the list of BizTalk Cumulative Update installed in this machine: BTS2016LAB01
- Microsoft BizTalk Server 2016 CU1

To check if the last Cumulative is installed or not.

PowerShell script overview

So how can we easily automate tasks? and reuse them whenever necessary and at the same time saving significant time for other tasks?

Using PowerShell is a good option. Windows PowerShell is a Windows command-line shell designed especially for system administrators and can be used by BizTalk administrators to help them in automating repetitive tasks or tasks that are time consuming to perform manually.

This is a simple script that allows you to configure the template name of the cumulative updates, that will change from version to version, and will give you the list of all BizTalk Server 2016 cumulative updates installed in your server:

$keyResults = Get-ChildItem -path HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ -Recurse -ErrorAction SilentlyContinue | where { $_.Name -match $CUNameTemplate}

foreach($keyItem in $keyResults)
{
    if ($keyItem.GetValue("DisplayName") -like "*$CUNameTemplate*")
    {
        write-host "-" $keyItem.GetValue("DisplayName").ToString().Substring(0,$keyItem.GetValue("DisplayName").ToString().IndexOf(" CU")+4)
    }
}

THIS SQL SCRIPT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND.

Check-BizTalk-Server-2016-CU-Installed

Check what BizTalk Server 2016 Cumulative Updates are installed with PowerShell (2 KB)
Microsoft | TechNet Gallery


How to check what BizTalk Server 2010 Cumulative Updates are installed in your Servers with PowerShell

$
0
0

I think we all need to maintain old environments and this was one of these days for me – BizTalk Server 2010 – and the first thing I needed to do was to check and install the latest Cumulative Updates for BizTalk Server and BizTalk Adapter Pack.

Following my last post, How to check what BizTalk Server 2016 Cumulative Updates are installed in your Servers with PowerShell, I decided to change the script, this time creating one focused on BizTalk Server 2010 and share with the community.

This script is a little different from the 2016 version because since BizTalk Server 2013 R2, Cumulative Updates for BizTalk Server, Adapter Pack, and Accelerators are all part of single download. In earlier versions, such as BizTalk Server 2010, there were dedicated versions for BizTalk Server and BizTalk Adapter Pack.

PowerShell to check what BizTalk Server 2010 Cumulative Updates are installed in your Servers with PowerShell: This is a simple script that allows you to configure the template name of the cumulative updates, that will change from version to version, and will give you the list of all BizTalk Server 2010 cumulative updates installed in your machine:

This is the list of BizTalk Cumulative Update installed in this machine: BTS2010LAB01
- Biztalk Adaptor Framework 2010 CU1
- Microsoft Biztalk Server 2010 CU1
- Microsoft BizTalk Server 2010 CU2
- Microsoft BizTalk Server 2010 CU3
- Microsoft BizTalk Server 2010 CU4
- Microsoft Biztalk Server 2010 CU5
- Microsoft Biztalk Server 2010 CU6

Sample script (the link to the full script is available at the end of this post):

if($keyResults.Count -gt 0)
{
    write-host "This is the list of BizTalk Cumulative Update installed in this machine: $env:computername"
}
else
{
    write-host "There is the no BizTalk Cumulative Update installed in this machine: $env:computername"
}

foreach($keyItem in $keyResults)
{
    if (($keyItem.GetValue("DisplayName") -like "*$CUNameTemplate*") -or ($keyItem.GetValue("DisplayName") -like "*$CUAdapterNameTemplate*"))
    {
        write-host "-" $keyItem.GetValue("DisplayName").ToString().Substring(0,$keyItem.GetValue("DisplayName").ToString().IndexOf(" CU")+4)
    }
}

THIS SQL SCRIPT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND.

Check what BizTalk Server 2010 Cumulative Updates are installed with PowerShell (3 KB)
Microsoft | TechNet Gallery


How to check what BizTalk Server 2013 Cumulative Updates are installed in your Servers with PowerShell

$
0
0

To finalize this series of posts about how to check what BizTalk Server <version> Cumulative Updates are installed in your Servers with PowerShell:

We just need to talk about BizTalk Server 2013 to cover the last 4 versions of the product. And I know some environments that still are running in this version, for this reason it is still a valid and quite useful script.

This script is very similar to the script that I created for BizTalk Server 2010, because in earlier versions, such as BizTalk Server 2010 and 2013, there were dedicated versions for BizTalk Server and BizTalk Adapter Pack. This have change since BizTalk Server 2013 R2 where Microsoft decide to create Cumulative Updates for BizTalk Server, Adapter Pack, and Accelerators in a single resource and part of single download.

PowerShell to check what BizTalk Server 2013 Cumulative Updates are installed in your Servers with PowerShell: This is a simple script that allows you to configure the template name of the cumulative updates, that will change from version to version, and will give you the list of all BizTalk Server 2013 cumulative updates installed in your machine:

This is the list of BizTalk Server 2013 Cumulative Update installed in this machine: BTS2013LAB01
- Microsoft BizTalk Server 2013 CU1
- Microsoft BizTalk Server 2013 CU2

This is the list of BizTalk Server 2013 Adapter Pack Cumulative Update installed in this machine: BTS2013LAB01
- BizTalk Adapter Pack 2013 CU1

Sample script (the link to the full script is available at the end of this post):

#Name template for BizTalk Server CU's for BizTalk Server 2013 (normally they are "Microsoft BizTalk Server 2013 CU#")
$CUNameTemplate = 'Microsoft BizTalk Server 2013 CU'

#The Wow6432 registry entry indicates that you're running a 64-bit version of Windows.
#It will use this key for 32-bit applications that run on a 64-bit version of Windows.
$keyResults = Get-ChildItem -path HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ -Recurse -ErrorAction SilentlyContinue | where { $_.Name -match $CUNameTemplate}

if($keyResults.Count -gt 0)
{
    write-host "This is the list of BizTalk Server 2013 Cumulative Update installed in this machine: $env:computername"
}
else
{
    write-host "There is the no BizTalk Server 2013 Cumulative Update installed in this machine: $env:computername"
}

foreach($keyItem in $keyResults)
{
    if ($keyItem.GetValue("DisplayName") -like "*$CUNameTemplate*")
    {
        write-host "-" $keyItem.GetValue("DisplayName").ToString().Substring(0,$keyItem.GetValue("DisplayName").ToString().IndexOf(" CU")+4)
    }
}

...

#Name template for BizTalk Server Adapter Pack CU's for BizTalk Server 2013 (normally they are "BizTalk Adapter Pack 2013 CU#")
$CUNameTemplate = 'BizTalk Adapter Pack 2013 CU'

#The Wow6432 registry entry indicates that you're running a 64-bit version of Windows.
#It will use this key for 32-bit applications that run on a 64-bit version of Windows.
$keyResults = Get-ChildItem -path HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\ -Recurse -ErrorAction SilentlyContinue | where { $_.Name -match $CUNameTemplate}

...

THIS SQL SCRIPT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND.

Check all BizTalk 2013 Cumulative Updates installed in server with PowerShell (3 KB)
Microsoft | TechNet Gallery


BizTalk Server WCF adapter: Unable to connect to the remote server. System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:8888

$
0
0

First of all, Happy birthday BizTalk Server for your 16th birthday! For does you don’ remember, the first version of BizTalk Server was release 12/12/2000, Congratulations!!

Continuing with the topic of my last posts “Errors and Warnings, Causes and Solutions”, we will talk about an error that I face today using the BizTalk Server WCF adapter while trying to communicate with an external WCF service:

System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at http://<ip/host name>/<ServiceName>.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. —> System.Net.WebException: Unable to connect to the remote server —> System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it 127.0.0.1:8888
at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)

— End of inner exception stack trace —

at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context)
at System.ServiceModel.Channels.HttpOutput.WebRequestHttpOutput.GetOutputStreamAsyncResult.CompleteGetRequestStrea

BizTalk-WCF-Adapter-Unable-to-connect-to-the-remote-server

If this problem happens, it normally means that the IP address or host name specify in the URL exists but: it has no services listening on the specified port or there is a firewall stopping you.

However, I try to open the URL using the browser in the BizTalk machine and I was able to access without any problem, which means, it wasn’t a firewall problem and the service exist on that specific port.

Causes

Again, this type of problem normally means that the IP address or host name specify in the URL exists but:

  • It has no services listening on the specified port;
  • Or there is a firewall stopping you.

But… it also can be a proxy problem that may be blocking the access to the service! In fact, this was my problem.

Solution

I will not address the first two possible causes here, instead I will focus in what was my problem, proxies, and how can you solve it.

On the HTTP Transport bindings of the WCF adapter there are several properties to control the proxy, like:

  • proxyAddress: A URI that specifies the address of the HTTP proxy. If useSystemWebProxy is true, this setting must be null. The default is null.
  • proxyAuthenticationSchema: Specifies the protocol used for authenticating client requests being processed by an HTTP proxy. The default is Anonymous.
  • bypassProxyOnLocal: A Boolean value that indicates whether to bypass the proxy server for local addresses. The default is false.

and others properties. But also, contains a very important property: useDefaultWebProxy – this is a Boolean value that specifies whether the machine-wide proxy settings are used rather than the user specific settings. The default is true.

BizTalk-WCF-Adapter-useDefaultWebProxy-true

But how can you know there is a proxy set on the server?

You can check this using one of this two option:

  • You can open Command Prompt (CMD) and type the following command:

reg query “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings” | find /i “proxyserver”

BizTalk-WCF-Adapter-check-if-proxy-is-set

  • Or Open the Internet Explorer and click the Tools button.
    • Click on Internet Options and then click on the Connections tab.
    • Click “LAN settings”.

BizTalk-WCF-Adapter-check-if-proxy-is-set-in-internet-explorer

    • You can also click in “Advanced” to check more details

If you notice in the pictures there is a default proxy set in the server and there are some exceptions defined in the Internet Explorer, a few names and some IPs. One of this IP’s was in fact the IP of the machine that was hosting the service that I was trying to communicate.

In my case to solve the problem I just need to set the useDefaultWebProxy property in the HTTP transport bindings of my WCF port to false.

BizTalk-WCF-Adapter-useDefaultWebProxy-false

Viewing all 287 articles
Browse latest View live