BizTalk Visual Studio Deploy Issue: The “MapperCompiler” task failed unexpectedly. Access to the path ‘…’ is denied

BizTalk Visual Studio Deploy Issue: The “MapperCompiler” task failed unexpectedly. Access to the path ‘…’ is denied

Back to one of my favorite topics: Errors and Warnings, Causes, and Solutions since I have several issues to report in my internal OneNote. But in fact, this one happened today while I was implementing a new RosettaNet PIP on a client… nevertheless, this is not specific to RosettaNet.

I
was making a small improvement to an existing process/project to allow specific
orchestrations to be activated based on some properties promoted from the
message by applying a filter on the activate Receive Message shape. Everything
was going peacefully well until I tried to redeploy the Visual Studio solution.
Once I try to redeploy the BizTalk Server Visual Studio solution from Visual
Studio, I got the following error:

Error The “MapperCompiler” task failed unexpectedly.

System.UnauthorizedAccessException: Access to the path ‘C:……MapsmapNotifyOfShipmentReceipt_To_PIP4B2.btm.cs’ is denied.

   at Microsoft.VisualStudio.BizTalkProject.Compiler.MapCompiler.Compile(BizTalkBuildSnapshot buildSnapshot, IEnumerable`1 mapFilesToCompile, IEnumerable`1 schemaFiles, List`1& generatedCodeFiles, List`1& xsltFiles)

   at Microsoft.VisualStudio.BizTalkProject.BuildTasks.MapperCompiler.Execute()

   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()

   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() EAI.RosettaNet.4B2.

BizTalk Server: The MapperCompiler task failed unexpectedly

The funny part was that this was a small change that I did in an existing solution that already was running fine in the environment… and the change was a small improvement in the orchestration, not on the map!

Cause

Well,
I don’t know why the compiler decided to pick the mapper to complain. But This
issue is not related to any kind of maps you may have in your solution.

And
yes, the user that I was using to open, and build the solution had full rights
to access the file in question, all full rights to deploy stuff to the BizTalk
Server environment.

There are several possible causes for you to get such Access Denied errors when deploying BizTalk solutions directly from Visual Studio. Most common is that you don’t have the right BizTalk privileges to deploy artifacts, or in other words, you are not a local Administrator.

But most of the time is simpler than that and indeed is related to additional securities setting present in recent Windows Server versions. For you to be able to successfully deploy a BizTalk Server solution directly from Visual Studio, you must run Visual Studio as an Administrator, or with elevated permissions, because BizTalk assemblies need to be deployed into the GAC. What normally happens, is that if you have User Account Control (UAC) activated, or sometimes even deactivated, there are some additional securities setting present in recent Windows Server versions that, by default, doesn’t run Visual Studio with elevated permissions.

This
was indeed one of these cases, Visual Studio was not open with elevated
permissions.

Solution

The quick solution is for you to run
Visual Studio as an Administrator by simply run below step:

  • Right-click
    under Visual Studio and choose Run as administrator option.
Visual Studio: Run as Administrator

The problem with this approach is that
you need to remember yourself to do it every time you want to run Visual Studio.
Otherwise, the next time you try to deploy the solution, it will fail again
with the same error.

You may find more how to configure Visual Studio to run with elevated permissions as administrator by default here: https://blogs.biztalk360.com/biztalk-server-tips-and-tricks-configure-visual-studio-to-run-with-elevated-permissions-as-administrator/

If you try now to deploy your solution, you will see that this problem goes aways and you will be able to deploy it successfully (assuming that the solution does not actually have errors).

The post BizTalk Visual Studio Deploy Issue: The “MapperCompiler” task failed unexpectedly. Access to the path ‘…’ is denied appeared first on SANDRO PEREIRA BIZTALK BLOG.

Azure Reconnaissance and Scanning for Ethical Hackers and Special Ops Team [free whitepaper] By Nino Crudele

Azure Reconnaissance and Scanning for Ethical Hackers and Special Ops Team [free whitepaper] By Nino Crudele

Nino Crudele just published another free whitepaper about Azure Reconnaissance and Scanning for Ethical Hackers and Special Ops Team. It is a 25 pages whitepaper that will provide you with a quick and practical guide full of tools and techniques for scanning and reconnaissance in Azure to Ethical Hackers and Special Ops Team that want to learn or know a little more. You shouldn’t miss this opportunity!

Once again, I would like to take this opportunity to say thanks to Nino Crudele for inviting me to be his technical reviewer for this whitepaper. I never learn to say no to him, it is always a crazy nightmare but a delightful one. And I’m already waiting to our next challenge.

Azure Reconnaissance and Scanning for Ethical Hackers and Special Ops Team

Nino Crudele is a freelance living in the United Kingdom. He is Global Azure Lead and Cybersecurity expert in Hexagon Manufacturing Intelligence, a global manufacturing company. He is responsible for leading the Microsoft Azure Cloud area, supporting and advising the Company to select the most appropriate cloud strategies and solutions from high-level design to implementation and Security is one of my top priorities.

What to expect about  Azure Reconnaissance and Scanning for Ethical Hackers and Special Ops Team whitepaper

This whitepaper will provide:

  • The final objective of a Penetration Testing project is to provide useful information to resolve the errors identified before they can be used for malicious purposes.
  • How to identify our attack surface by researching, collecting, and organizing as much information as possible about a potential attack target. Then it will seek ways that could be exploited to get into the systems.
  • And of course, like any good Penetration Testing project should be, how to provide useful information to resolve the errors identified before they can be used for malicious purposes

Where you can download it

The whitepaper is completely free and you can download it here:

The post Azure Reconnaissance and Scanning for Ethical Hackers and Special Ops Team [free whitepaper] By Nino Crudele appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Server 2020 – Operations and Administration Capability

BizTalk Server 2020 – Operations and Administration Capability

Introduction

During our last premier event, INTEGRATE 2019, the Microsoft product group announced the new version release of BizTalk Server 2020. This version has been released in mid-January 2020. A most awaited moment comes into real; BizTalk 2020 is public now! To know more about the exciting new features, take a look at our Founder Saravana Kumar blog “BizTalk Server 2020 – Why it’s a Game-Changer?”.

In this blog post, I will be covering the new features shipped in BizTalk Server 2020, in terms of Operation and Administration. Yes, this version brought in quite a number of new capabilities to make the life of admin/support people easier. Let’s take a look at the features one by one in detail in the coming sections.

Scheduling

In BizTalk Server, there is an option available to schedule receiving or transmitting the messages on certain days and hours. However, there is no scheduling available to specify the preferred time zones and at a specific time on a daily, weekly or monthly basis. Therefore, the administrator relayed on other tricks to achieve this business scenario as below:

  1. Windows Task Scheduler – To drop a file to the specified Receive Location
  2. SQL Adapter – Implementing a simple stored procedure that creates a “dummy” message that initiates the process
  3. BizTalk Scheduled Task Adapter – An in-process receive adapter that executes a prescribed task on a daily, weekly or monthly schedule.
  4. BizTalk2020-Scheduling

Advanced Scheduling

Now with BizTalk Server 2020, the new advanced scheduling comprises all the options which administrators wanted for scheduling.

New Options:

  1. The preferred time zone can be set based on the business scenario
  2. Automatically adjust for daylight saving time
  3. Recurrence options like daily, weekly, and monthly
  4. BizTalk2020-Advanced-Scheduling

Local time can be confusing, as all the places on earth use their own local time for the smooth functioning of the large-scale business spread across the world. (Ex: companies with abroad partners, railways, ). Until the previous versions, there won’t be any option available to set the preferred time zone for message processing. With this new option, the time zone can be set according to the business needs along with the automatic setting daylight-saving.

Another exciting capability is recurrence. To achieve this formerly, Admins used various tricks to process the messages. With this new capability, they can set daily, weekly and monthly schedules as per the needs.

  1. Daily – Configure the number of recurring days and from which date the recurrence will be active
  2. Weekly – Configure the number of recurring days, from when the recurrence will be active and on which weekdays the recurrence must be active
  3. BizTalk2020-Weekly-Scheduling

  4. Monthly – Configure which months and which days the recurrence should take place
  5. BizTalk2020-Monthly-Scheduling

Backup to Azure Blob Storage

To align with the latest trend, BizTalk Server 2020 has this exciting capability to extend its support in hybrid solutions. With this feature, you can configure the BizTalk Server job to back up your BizTalk databases and log files into the Azure Blob storage account.

To configure this job, you will need to:

  1. Create a general-purpose Azure Storage account
  2. Create a container within your Blob Storage account
  3. Create stored access policy and shared access storage
  4. Create SQL Credential using the SAS

Create a general-purpose Azure Storage account

An Azure Storage account contains all your Azure Storage data where all the saved data is highly available, secure, and scalable at any point in time. Then the storage account is ready to create the container.

Create-Storage-Account

Creating a Container

All the database backup files are stored in the Blobs. For that, you must first create a container.

Creating-Container

Once the container is created, click on the ellipsis button at the end of the row and look for the property “Container properties”.

Container-Properties

In the opened window, copy the URL value as highlighted in the below screenshot. This URL will be used to create the credentials in the SQL Server and as well as configure the backup jobs.

Blob-Container-Properties

Shared Access Signature

A shared access signature is a URI that grants restricted access rights to the container in the Azure Storage account. A stored access policy provides an additional level of control over shared access signatures. When using this, you need to create a policy on a container with at least read, write and list rights.

In the Azure Storage account you have created, look for the menu “Shared access signature” and click on the “Generate SAS and connection string”, as shown in the below screenshot.

All the connection strings and URLs will be generated and listed in the below section. There you require the SAS token to create the credentials.

Shared-Access-Signature

Create SQL Credential

This is the final step, where you need to create a credential in SQL Server in order to connect with the blob storage. As mentioned in the screenshot, Open the new query and click on the menu “Azure Storage”.

Azure-Storage

In the next wizard, you are prompted to sign in the respective Azure account where the container is created. Once after the sign-in, select the respective storage account and the container and click ok.

Storage-Account-Creation

After the successful sign-in, execute the below query with the correct parameters.

SQL-Query

Once the query is successfully executed just navigate to Security -> Credentials. You can see the new shared access signature in the credential folder. Now everything is set for the database backup to Azure Blob.

Azure-Blob

Once the credentials are created, you need to configure the BizTalk Server backup job as mentioned in this article.

Backup-BizTalk-Server

After the successful configuration, you need to run the backup job. Once the execution is completed, all the BizTalk Server database backups are available in the Blobs as you see in the below screenshot.

Azure-Storage-Account

Audit Log

Until the previous versions of BizTalk Server, it is a completely black box for the administrators where they are not sure about who does what in the environment since all support persons have elevated access to the BizTalk and SQL Servers and no auditing is taking place.

BizTalk Server 2020 can audit the application and its artifact activities performed by the users. All the auditing activities are stored in the BizTalk Management DB -> bts_auditlog table.

Admins can get an insight about,

  1. Who has done the action?
  2. In which Server with the Artifact id, artifact name, and the corresponding operation
  3. Payload information
  4. At which specific date and time the particular action took place

The new audit API lists all the auditing activities performed by the users. The result will be returned in the JSON format.

After installing and configuring the BizTalk Environment, the next is to enable the Global level Audit Management operations, as shown in the picture.

BizTalk-Global-Level-Audit

The following are the detailed list of the activities audited by the BizTalk Server,

Applications

BizTalk-Server-Audit-Applications

Receive Ports

BizTalk-Server-Audit-Receive-Ports

Receive Locations

BizTalk-Server-Audit-Receive-Locations

Orchestrations

BizTalk-Server-Audit-Orchestrations

Send Port Groups

BizTalk-Server-Audit-Send-Port-Groups

Service Instances

BizTalk-Server-Audit-Service-Instance

Binding file importing activity is audited as well.

Artifacts which don’t have auditing capabilities:

PolicyNo Auditing
ResourcesNo Auditing
SchemasNo Auditing
PartyNo Auditing
Host InstanceNo Auditing

Note: Only the admin users can view the auditing activities performed by other users.

New Read-Only Operator Role

The new role “BizTalk Server Read-Only Users”, is completely providing read-only access to the users. This role will be useful to facilitate the dev-ops scenario.

Read-Only-Operator-Role

With this new role, users are restricted to perform actions against,

  1. Application and Artifacts
  2. Service Instances
  3. Changing port configuration

If a user, who is in the Read-only Operator role, tries to do any actions, these actions will be restricted by BizTalk Server and the user will get an error message like below.

BizTalk-Server-Administration-Error

When the user tries to change the host instance status, the error message will be different, as shown below.

BizTalk-Server-Administration

Group Managed Service Accounts

Group managed service provides automatic password management. The main reason behind this is to delegate the management of passwords to other administrators.  When this option is enabled, users don’t need to provide the passwords to handle the services. This specific option will be shown when you run the BizTalk Server custom configuration. The features support gMSA have a “Is gMSA account” setting. Once this setting is enabled, the password property disables.

User-Credentials

gMSA is supported for the features,

  1. BizTalk Runtime
  2. Business Rules Engine
  3. BAM Tool
  4. Rest API
  5. BizTalk TMS

Note: gMSA is not available when BizTalk is configured with a Basic Configuration.

You can find more information about gMSA in this article.

Conclusion

Microsoft released many useful features to ease the Operation and Administration capability for support/admin people. BizTalk Server 2020 promises the on-going commitment of Microsoft in this platform. We are in the process of creating some great guides and materials related to BizTalk Server 2020. (Ex: Detailed upgrade guide from previous versions). If you are interested, comment below with your answers for the following two questions along with your mail id, we will keep you in the loop.

  1. What version of BizTalk Server are you using?
  2. Is BizTalk Server 2020 migration in your scope?

Here are a few detailed blogs on BizTalk Server 2020, hope you will find them useful.

The post BizTalk Server 2020 – Operations and Administration Capability appeared first on BizTalk360.

Why you should attend INTEGRATE 2020?

Why you should attend INTEGRATE 2020?

Are you an Integration expert? Want to get up to speed on the Microsoft Integration technologies and stay updated on their vision and road map?  Then, INTEGRATE 2020 is the answer to all these questions. The 3-day event, with speakers from the Microsoft Product Group and from the Global Integration Community, to listen to the leading Integration Specialists and learn what is coming next in integration and to network with your peers.

Any Microsoft events like the Ignite, Inspire, Build, etc will have sessions covering a wide range of technologies, which is overwhelming to some extent, whereas INTEGRATE 2020 focuses on a niche category of people interested in Microsoft Integration space.

Last year INTEGRATE edition was by far the most successful one which means the conference is only getting better year after year. This is undoubtedly the premier event focusing on the Microsoft integration space. Therefore, it is key for everyone in the integration space to attend this event to know the interesting things that are happening and learn what’s coming next from the Microsoft Product Group.

Here I wish to express why attending Integrate 2020 in-person is so important:

 

What’s Microsoft Integration Roadmap?

Here is a list of important announcements made at INTEGRATE by the Microsoft Product team. It would be more valuable for you to connect with the product team over networking to discuss more on the benefits, challenges, and considerations to be followed for these important announcements.

INTEGRATE 2019Paul Larsen, Principal Program Manager at Microsoft made the big announcement “BizTalk Server 2020” and he also announced it will be released at the end of 2019. BizTalk Server 2020 is not just a simple software update it’s a game-changer and beginning of a new era. BizTalk Server 2020 is Microsoft’s commitment to existing customers who invested in BizTalk Server. The new BizTalk Server version will be supported until 2030

BizTalk-Server-2020-announced-at-INTEGRATE2019

Also, the Logic Apps team announced the public preview for Rosetta Net and a few real use cases of Rosetta Net.

INTEGRATE 2018Jon Fancey, Principal Program Manager at Microsoft in his Keynote mentioned the need to embrace change towards cloud adoption. The whole of the conference in 2018 was about what’s the future with hybrid and cloud integrations. There were a lot of announcements from Microsoft on introduction towards Azure Integration Services, Logic Apps, Function, etc.

Paul Larsen announced BizTalk Server 2016 Cumulative Update (CU) 5. He also showed the traditional BizTalk Server life cycle diagram that showed that just a month is left ahead for support to end for BizTalk Server 2013 and BizTalk Server 2013 R2.

De1-jUXkAAEL8v-1024x541

Clemens Vasters – Principal Architect announced Event Hubs for the Kafka Ecosystem.

INTEGRATE 2017 – Jim Harrer, Principal Group Program Manager at Microsoft Pro Integration team emphasized how Microsoft brings intelligence to its Hybrid Integration Platform. Jim showed the Pro Integration team’s year in review showing how they have progressed as a team in the 4 main departments – Logic Apps, BizTalk, Host Integration Server, and API Management.

Pro-Integration-Year-in-Review-1024x768

INTEGRATE 2016Jim Harrer, Program Manager of the Pro-Integration group at Microsoft announced Microsoft’s integration vision and road map to provide a unified integration experience across on-premises and cloud.

Roadmap-1024x576

Now, are you excited about the important Microsoft updates at INTEGRATE 2020? We are excited as much as you are!

Network and Explore an Opportunity for Partnerships

INTEGRATE is the biggest and best opportunity to build a strong network and explore the opportunities to build a strong business. You certainly not want to miss out on the best possible opportunity to grow your company and network with the community.

nerworking-at-INTEGRATE2019

Pricing

We already opened registrations for INTEGRATE 2020. The early bird registrations for tickets closes on March 31st. Also, given the Public Holiday on June 1st in parts of Europe and our wish to accommodate attendees enjoying a long weekend, all the Microsoft Speaker sessions will take place on Day 2 and Day 3. We have now made available a 2 Day Pass Option for June 2nd and June 3rd only.

If you are planning to attend INTEGRATE 2020, then go ahead and register as this will be the best ticket sale of the year. Be quick as when they’re gone, they’re gone.

Sponsorship

We are also opening sponsorship opportunities for this event. There are sponsorship packages available at different levels. If you are interested to sponsor this event, please contact us at contact@biztalk360.com.

Join with other leading consulting and ISV companies as sponsors:

INTEGRATE-sponsors

Are you still not convinced? 🙂 Don’t miss out, register today and take the early bird offer.

Don’t miss out on the conference which is highly focused on Microsoft Integration space. We look forward to planning your trip to London and joining the community in June.

The post Why you should attend INTEGRATE 2020? appeared first on BizTalk360.

BizTalk Administration Console Error: Unrecognized attribute ‘Attribute-Name’. Note that attribute names are case-sensitive

BizTalk Administration Console Error: Unrecognized attribute ‘Attribute-Name’. Note that attribute names are case-sensitive

Another error
and warnings, cause and solutions blog post. This time on a small issue that I got
during an application configuration in a developing environment.

Well, I
think I will not tell you anything new, but when you are generating Schemas
from a SQL database, regardless of whether they are actions directly on tables
or invoking stored procedures, a binding file is automatically created on your
BizTalk Server Visual Studio solution. And you can use it to easily create the
necessary ports to communicate with your SQL database. You don’t need to create
them manually.

On one of these occasions, as I did thousands of times before, I successfully import my binding file containing the receive ports for my SQL database. But to my surprise every time I was trying to open the port configuration to change the attributes, I was getting the following error:

Error loading properties. (System.Configuration.ConfigurationErrorsException) Unrecognized attribute ‘Attribute-Name’. Note that attribute names are case-sensitive.

BizTalk Administration Console Error: Unrecognized attribute 'Attribute-Name'. Note that attribute names are case-sensitive

For a better context, why this error was happening, I was working with the BizTalk Server 2013 R2 version.

Cause

Although I didn’t initially understand why it
happened, the error is quite clear. The attribute name, in my case ApplicationIntent
was invalid.

Only thing I was sure:

  • It
    wasn’t a case-sensitive issue I was sure about that because this was an auto-generated
    binding file and the only thing I did was to change the receive port and
    receive location names

To demystify the problem, I ended up:

  • Manually
    creating the receive port;
  • Export
    the bindings;
  • And
    compare the bindings;

And what I noticed was that the bindings were different, this last one, that was working, didn’t contain the ApplicationIntent attribute and two other additional attributes like MultiSubnetFailover attribute.

I end up realizing that, because I didn’t have access to the client and I was with limit access to my dev machines, I end up creating the Schemas and the transformations using a different version: BizTalk Server 2016.

The schemas and almost artifacts, even if you
developer in a higher version, it will work well on BizTalk Server 2013 R2, you
just need to compile with a different network. Nevertheless, I will not advise doing
that. However, the binding files are different and not compatible between these
two versions for this adapter.

Solution

The solution is easy and you have three options:

  • Manually remove, fixing the binding file, for example, open in notepad and remove the ApplicationIntent=”ReadWrite”;
    • I will not recommend that approach;
    • You will find other issues that you need to solve;
  • Regenerate the schemas and bindings in your correct Visual Studio solution;
    • It may give you additional work on redeploying the solution;
    • But it is the most consistent option, everything will be updated and you sure that you have all the correct resources.
  • Manually create the ports on the BizTalk Server Administration Console;
    • Make sure to generate the binding files and update them in our Visual Studio solution;

The post BizTalk Administration Console Error: Unrecognized attribute ‘Attribute-Name’. Note that attribute names are case-sensitive appeared first on SANDRO PEREIRA BIZTALK BLOG.

February 10, 2020 Weekly Update on Microsoft Integration Platform & Azure iPaaS

February 10, 2020 Weekly Update on Microsoft Integration Platform & Azure iPaaS

Do you feel difficult to keep up to date on all the frequent updates and announcements in the Microsoft Integration platform and Azure iPaaS?

Integration weekly update can be your solution. It’s a weekly update on the topics related to Integration – enterprise integration, robust & scalable messaging capabilities and Citizen Integration capabilities empowered by Microsoft platform to deliver value to the business.

 

Microsoft Announcements and Updates

 

Community Blog Posts

Videos

Podcasts

 

 

How to get started with iPaaS design & development in Azure?

Feedback

Hope this would be helpful. Please feel free to reach out to me with your feedback and questions.

BizTalk Administration Console Error: The snap-in performed a non-valid operation and has been unloaded. To continue working with this snap-in, restart MMC or try loading the snap-in again

Recently a
client call me reporting a strange behavior on the BizTalk Server Administration
Console. Based on what was reported to me, some updates were applied to the
server at the level of the operating system and that after installation, they
would have performed a controlled restart to the environment. However, after
the environment is back once again online when trying to access the
administrative console, they got the following error:

The snap-in performed a non-valid
operation and has been unloaded. To continue working with this snap-in, restart
MMC or try loading the snap-in again.

Machine generated alternative text:
Eile Action giew Window
Console Raat
BizTaIk Server Administration
BizTaIk Health Monitor
Event Viewer (Local)
BizTalk Server Administration Console
Help
Snap -in Unavailable
This snap-in performed a nan-valid operatian and has been unlaaded. Ta continue working with this
snap-in, restart MMC ar try Iaading the snap-in again.
Exceptian Type: System.NuIIReferenceExceptian
Exceptian Message: Object reference nat set ta an instance af an abject.
Microsoft. BizTaIk.ExceptianMessageBax.BtsExceptianMessageBax.RepracessManagementExceptian(Exceptia
exceptian, Exceptian newInnerExceptian)
Microsoft. BizTaIk.ExceptianMessageBax.BtsExceptianMessageBax.RepracessSpecificExceptians(Exceptian
exceptian, Exceptian newInnerExceptian)
Microsoft. BizTaIk.ExceptianMessageBax.BtsExceptianMessageBax.RepracessExceptianRecursive(Exceptian
exceptian)
at Microsoft.BizTaIk.ExceptianMessageBax.BtsExceptianMessageBax..ctar(Exceptian exceptian,
ExceptianMessage8ax8uttans buttans, ExceptianMessage8axSymbaI symbal)
at Microsoft.8izTaIk.SnapIn.Framewark.FramewarkNatificatian.Shaw(Exceptian exceptian, String captian,
Message8ax8uttans buttans, Message8axIcan ican, Contral staMarshaIIer, IWin32Windaw parent)
at Microsoft.8izTaIk.Administratian.SnapIn.GraupNade.FuIIRefresh(Object a, ResultsChangedEventArgs e)
at Microsoft. BizTaIk.Administratian.SnapIn.GraupNade.OnExpand(AsyncStatus status)
at Microsoft.ManagementCansaIe.NadeSyncManager.PracessRequest(NadeRequestInfa infa,
IRequestStatus requestStatus)
at Microsoft. ManagementCansaIe.NamespaceSnapInBase.PracessRequest(Request request)
at Microsoft.ManagementCansaIeSnapIn.PracessRequest(Request request)
Micr asaft. ManagementCansaIe. nter nal Snapl nCIient. Microsoft. ManagementCansaIe. nter nal. MessageCIier
al
View
New Window fram Here
Help

Just for curiosity, BizTalk Health Monitor, worked perfectly fine. And the BizTalk Server engine was working properly also. It was just a matter of UI.

Cause

I don’t really know the specific reasons that cause this problem, and to be honest, being a production environment, the important was to put everything working again. But in a simple way, this error message normally means that the MMC or one of the snap-ins, in this case, BizTalk Server Administration snap-in did not load correctly.

Restarting the machine again, or even restart
the BizTalk Server Administration console doesn’t solve the issue.

Solution

You can troubleshoot fudder this problem and use
a tool like System File Checker to scan and see if you find the root of the
issue and probably the fix.

However, the simple way to solve this is to:

  • Repair
    BizTalk Server installation;

Once you repair the installation, everything
should be working fine again.

Notice: don’t forget to reinstall the last Cumulative
updates.

The post BizTalk Administration Console Error: The snap-in performed a non-valid operation and has been unloaded. To continue working with this snap-in, restart MMC or try loading the snap-in again appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Server Logic App Adapter: An error occurred while making the HTTP request. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case

BizTalk Server Logic App Adapter: An error occurred while making the HTTP request. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case

I
have an insane roadmap of things to be published but if I didn’t have this week
was fertile in providing me with new content. Full week troubleshooting and
fixing issues in several clients… what an amazing week! But the best one
arrived almost on the last day.

Do
you know the feeling when you develop a solution that has been working properly
for a while and stops working for no logical reason? I bet you do. And this happened
to me this week at a client where we are using the BizTalk Server Logic App
Adapter
to extend part of our logical business to the cloud. And without we
make any changes to the Logic Apps or any changes in our BizTalk Server environment
(aka no new development installed, no patch’s or hotfixes installed, no
restarts, …) everything stops to work, we were not receiving any new messages
on our Logic Apps.

When
I access to BizTalk Server environment, I realize that all the requests were
suspended with the following error:

System.ServiceModel.CommunicationException: An error occurred while making the HTTP request to https://prod-….logic.azure.com/workflows/…/triggers/manual/paths/invoke?queryparameters . This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server. —> System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. —> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. —> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
  at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
  at System.Net.Sockets.NetworkStream.EndRead(IAsyncResult a

The adapter failed to transmit message going to send port “LOGICAPP_SEND_PORT” with URL “https://prod-….logic.azure.com/workflows/…/triggers/manual/paths/invoke?queryparameters“. It will be retransmitted after the retry interval specified for this Send Port. Details:”System.ServiceModel.CommunicationException: An error occurred while making the HTTP request to https://prod-….logic.azure.com/workflows/…/triggers/manual/paths/invoke?queryparameters. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server. —> System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. —> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. —> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host

   at System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)

   at System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult)

   — End of inner exception stack trace —

   at System.Net.TlsStream.EndWrite(IAsyncResult asyncResult)

   at System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar)

   — End of inner exception stack trace —

   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)

   at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)

   — End of inner exception stack trace —

Server stack trace:

   at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)

   at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)

   at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)

   at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)

Exception rethrown at [0]:

   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)

   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)

   at System.ServiceModel.Channels.IRequestChannel.EndRequest(IAsyncResult result)

   at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)”.

Logic App Adapter: This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server

The other curious thing was that all my environments DEV, QA, and PROD were with the same symptom and all of them start at the same time which made this problem even more intriguing.

However,
I was able to connect with the adapter, see and select all the Logic Apps in my
subscription.

Logic App Adapter configuration on the BizTalk Server administration Console
Logic App Adapter configuration on the BizTalk Server administration Console

To
demystify if that was a problem with the adapter, I switch to the HTTP adapter
in order to try. Nevertheless, I got identical problems that made me dismiss
the idea that there could be something wrong with the adapter.

The
next step was to see if there was a network issue, maybe a firewall or proxy, which
should be because there was no intervention in the environment, but it is
always worth testing. To do that, I used one of my favorite tools, postman, and
to my surprise, everything was working fine. I was able to communicate and send
requests to all my Logic Apps in all my environments!

Cause

If you don’t are really
familiar with this type of problem, you may be pointed for a certificate issue,
but in our case, we were not using any kind of certificates to call our Logic
Apps and no additional type of authentication.

But I was sure that I had
already seen that error in the past, and I was related to security protocol (TLS
1.0 or TLS 1.2) used on the HTTPS communication and yes HTTPS because
all Logic Apps endpoints are in HTTPS.

BizTalk
Server came out-of-the-box and works very well with SSL (Secure Socket Layer)
3.0 or TLS (Transport Layer Security) 1.0, and these are the security
protocol used. New versions of BizTalk Server allow us to use TLS 1.2, but that
required extra manual configurations that we need to do in the environment and I
know that everyone is deprecating TLS 1.0 and 1.1 because of the well know vulnerabilities,
nevertheless, everything was working fine I have been doing this kind of hybrid
solution connecting with Logic Apps.

What
I discovered on the official documentation was that they say that: The
Request trigger supports only Transport Layer Security (TLS) 1.2 for incoming
calls
. Outgoing calls continue to support TLS 1.0, 1.1, and 1.2.

Nevertheless,
that wasn’t true until a few days ago, and my guess is that they actually discontinue
support for TLS 1.0 and 1.1 on the incoming calls without any notice, something
that, in my opinion, you shouldn’t do.

Solution

The solution was very simple,
we just need to specify that the default security protocol on BizTalk Server is
TLS 1.2. And to do that you need:

  • To
    make some changes on the registry to set TLS 1.2 as default security protocol TLS1.2;
  • Or
    creating a Custom BizTalk Server behavior;

I
choose the first option, making some changes to the registry. And to accomplish
that we need to add the below DWORD values in our registry:

  • On the [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client]
    • Create the following DWORD (32-bit) values
      • Name: DisabledByDefault
        • Value Data: 0
      • Name: Enabled
        • Value Data: 1
  • On the [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server]
    • Create the following DWORD (32-bit) values
      • Name: DisabledByDefault
        • Value Data: 0
      • Name: Enabled
        • Value Data: 1
  • On the [HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFrameworkv4.0.30319]
    • Create the following DWORD (32-bit) values
      • Name: SchUseStrongCrypto
        • Value Data: 1
  • On the [HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoft.NETFrameworkv4.0.30319]
    • Create the following DWORD (32-bit) value
      • Name: SchUseStrongCrypto
        • Value Data: 1

If
you try resending a message to your Logic App, everything should work properly
again.

The post BizTalk Server Logic App Adapter: An error occurred while making the HTTP request. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case appeared first on SANDRO PEREIRA BIZTALK BLOG.

Configuring ESB in BizTalk Server 2020

Configuring ESB in BizTalk Server 2020

As most of us are aware, starting with BizTalk Server 2013 and newer versions, Microsoft BizTalk ESB Toolkit is integrated with the BizTalk Server setup.

The wait is over, BizTalk Server 2020 is out now! On 15th of January 2020, Microsoft announced the release of BizTalk Server 2020. We got an opportunity to install and configure the ESB toolkit using BizTalk Server 2020.

While installing and configuring ESB we faced a huge challenge and surprise, that the ESB Portal was missing!!! In this blog, we would like to share our experience with you all that we gained and how we configured the ESB portal.

We would like to start from scratch, right from the installation of ESB in BizTalk Server 2020.

Prerequisites

Add Roles & Features

  • IIS with IIS 6 compatibility Tools(complete)
  • Windows Authentication & Basic Authentication (Under: Web Server(IIS) -> Security
  • WCF & HTTP Activation for both .Net 3.5 and 4.5/4.7

Installing ESB

Close any programs you have opened.

BizTalk2020-Installing-ESB

  1. Run the BizTalk Server 2020 setup.exe file as Administrator
  2. On the BizTalk Server installation Start page, click Install Microsoft BizTalk ESB Toolkit
  3. On the License Agreement page, select “Yes, I accept the terms of the license agreement” and then select Next
  4. In the Component Installation page, select the components you want to install, and then select Next
  5. BizTalk-ESB-Toolkit

    Note: If you observe the installation wizard, you may find the ESB Toolkit version is missing while comparing it with the BizTalk Server 2016.

    BizTalk-ESB-Toolkit-2.4

  6. In the Summary, review the installation details that you chose, and then select Install
  7. On the Installation completed page, Select Finish to close the installation wizard. An install log file is created, similar to C:UsersyourUserNameAppDataLocalTempSetup(xxxxxx).htm
  8. Starting with BizTalk Server 2020, to install the Itinerary Designer, also install the BizTalk ESB Toolkit Itinerary Designer extension in Visual Studio

Using Visual Studio 2019 -> Continue without code -> Extensions -> Manage Extensions -> Install BizTalk ESB Toolkit Itinerary Designer

manage-extension

Note:

  1. You must configure BizTalk Server before configuring BizTalk ESB Toolkit
  2. You must run the ESB Configuration Tool as an administrator

Configuring Microsoft BizTalk ESB Toolkit

  1. From the Start menu, type ESB Configuration Tool or Scroll and select Microsoft BizTalk ESB Toolkit, and then select ESB Configuration Tool
  2. In the ESB Configuration Tool, from the left pane, select ESB Configuration.
  3. On the right pane, for Database Server: specify the database server where the databases, which are required for BizTalk ESB Toolkit, are created
  4. In the IIS Web Services box, specify the User Account credentials under which the applications required for BizTalk ESB Toolkit are created. Also, specify the name of the website in IIS under which the applications are created
  5. The BizTalk User Groups box lists the default user groups which are available for ESB configuration
  6. ESB-Configuration-Tool

    Note: At this stage, you can click “Apply Configuration” towards the top of the ESB Configuration Tool to configure the Microsoft BizTalk ESB Toolkit with the default settings. However, if you want to do a custom configuration, you can perform the remaining steps as well. In such a case, the values you specify in the subsequent steps take precedence over the default values.

  7. In the left pane, expand ESB Configuration, expand Exception Management, and then:
  • If you don’t want to configure an exception management database, then select Database, and uncheck the Enable Exception Management Database
  • If you want to use an existing database instead of creating a new database, then select Database, and select Use Existing Database. Enter the database server name and the database name
  • If you don’t want to configure exception web service, then select Exception Web Services, and uncheck Enable Exception Services. If you want to run these services under a different website, you can enter that here

ESB-Configuration-Tool-Database

Exception-Web-Services

  • In the left pane, expand ESB Core Components, and then:
    • If you don’t want to configure an itinerary database, then select Itinerary Database, and uncheck Itinerary Database
    • If you want to use an existing itinerary database, then select Itinerary Database and select Use Existing Database. Enter the database server name and the database name
    • If you don’t want to configure these web services, then select Core Web Services, and uncheck Enable Core Services. If you want to run these services under a different website, you can enter that here

    ESB-Configuration-Tool-Itinerary-Database

    ESB-Configuration-Tool-Core-Web-Services

  • In the left pane, select Configuration
  • If you are installing and configuring the BizTalk ESB Toolkit in a single server environment, select File Configuration Source.

    If you are setting up a multiple-machine deployment, select the SSO Configuration Source, and then enter the following:

    • SSO Server: Enter the name of the SSO server
    • Configuration file: Click the ellipsis, and then browse to the esb.config file (Program Files (x86)Microsoft BizTalk ESB Toolkit)
    • Application Name: Enter a name for the SSO application. For example, enter ESB Toolkit
    • Contact Information: Enter a valid email address the appropriate contact information in the following format: support@biztalk360.com
    • Administrator Group Name: Select the ellipsis, and then browse to the appropriate admin group
    • User Group Name: Select the ellipsis, and then browse to the appropriate group

    ESB-Configuration-Tool-Configuration

  • Click Apply Configuration. Open IIS and notice that the applications required for BizTalk ESB Toolkit are now created under the website you specified while configuring BizTalk ESB Toolkit.
  • ESB-BizTalk-Applications

  • In the ESB Configuration Tool, select ESB BizTalk Applications, and then:
    • Select Enable ESB Core Components in BizTalk Server to create the application in the BizTalk Server Administration console. Select Use Default Binding to bind this application to the default host. Select Do not use Default Binding, if you do not want to bind the application to the default host. In this scenario, you must explicitly bind the application to a host once the application is created.
    • Select Enable ESB JMS/WMQ Components in BizTalk Server to create the application in the BizTalk Server Administration console. Select Use Default Binding to bind this application to the default host. Select Do not use Default Binding if you do not want to bind the application to the default host. In this scenario, you must explicitly bind the application to a host once the application is created.
    • Click Apply Configuration to create the applications you selected. Verify that the applications are created in the BizTalk Server Administration console.

    Verify Your Installation

    To ensure if the site has been configured correctly, navigate to the folder C:Program Files (x86)Microsoft BizTalk ESB ToolkitWeb. Compare the folders and subfolders, and the sites under IIS -> Sites -> Default Web Site.

    BizTalk2020-Installation

    BizTalk2020-Installation-Sites

    Open the BizTalk Server Administration console and notice that the ESB applications is now installed and present in our console.

    BizTalk-Server-Administration-Console

    Finally, ensure the availability of the “EsbExceptionDb” and “EsbItineraryDb” in the database.

    ESB Portal Findings

    Once after the installation and configuration of ESB Toolkit, if you have a look at the installation folder to configure ESB Portal, you will find that the file “ESBSource.zip” is missing…!!!

    Once after the configuration in BizTalk Server 2016, you will be able to find the ESBSource.zip file. But it is not available in BizTalk 2020.

    ESB-Portal-Finding

    *Screenshot from BizTalk Server 2016 ESB Toolkit installed folder location

    ESB-Portal-Finding

    *Screenshot from BizTalk Server 2020 ESB Toolkit installed folder location

    But, if you want to use the default ESB portal, you need the “ESBSource.zip” file to create it, or if you have another option, you can build your custom portal. We have compared the esb.config file to check if any changes have been done. When we checked the file, we found out that no changes have been done in the latest file. So, we thought of using the same portal in BizTalk server 2020 that was already used in the BizTalk server 2016.

    ESB-Config-File

    To be able to use the existing ESB portal, we have copied the “ESBSource.zip” file from BizTalk Server 2016 and pasted inside the BizTalk Server 2020 folder C:Program Files (x86)Microsoft BizTalk ESB Toolkit.

    ESB Portal Installation and Configuration

    To install the default ESB portal

    1. Create a folder in your C: drive and name it as Projects. Now, unzip ESBSource.zip file from the download location into the C:ProjectsMicrosoft.Practices.ESB folder
    2. Once after extraction, Remove the Read-only attribute from all files in C:ProjectsMicrosoft.Practices.ESB folder
    3. Install Enterprise Library 5.0 from http://www.microsoft.com/en-us/download/details.aspx?id=15104
    4. Install Microsoft Report Viewer Redistributable 2008 from http://www.microsoft.com/en-us/download/details.aspx?id=577
    5. Note: Leave step 4 and 5 if you have already done it earlier

    6. In Visual Studio 2019, open ESB.Portal.sln found in C:ProjectsMicrosoft.Practices.ESBSourceSamplesManagement PortalESB.Portal
    7. When Visual Studio 2019 starts converting the solution to the current format, a dialog pops up that warns you about ESB.Portal.Setup.vdproj file not being supported in Visual Studio 2019. Click OK. Wait until the solution opens
    8. In the Solution Explorer, add Microsoft.Practices.ServiceLocation.dll as a reference to the ESB.BAM.Service.Implementation project. This assembly is found in C:Program Files (x86)Microsoft Enterprise Library 5.0Bin
    9. Save all files in the solution
    10. Rebuild ESB.Portal solution
    11. Close Visual Studio
    12. Run Management_Install.cmd file found in C:ProjectsMicrosoft.Practices.ESBSourceSamplesManagement PortalInstallScripts

    If you can successfully run the Management_Install.cmd without any error/exception, the portal will be configured. Now when you open Internet Explorer and navigate to http://localhost/ESB.Portal you should see the ESB Management Console home page.

    ESB-Management-Console-Home-Page

    If you face any issues/exceptions when you run the Management_Install.cmd and the portal is not created, follow the below steps.

    1. Open PowerShell as an Administrator and run the following command:
    2. set-executionpolicy unrestricted

    3. Open a command prompt as an administrator and run the following command to ensure WCF script maps are registered:
    4. C:WindowsMicrosoft.NETFrameworkv4.0.30319> ServiceModelReg.exe -r –y

    5. Got to turn on Windows Feature make sure the
    • WCF features have been selected
    • Web Core option also configured
  • Make sure that the UDDI Service is installed from BizTalk Server Setup before running the UDDI Publisher Tool. Run the UDDI Publisher tool (you can install it at %ESB Install Folder%BinMicrosoft.Practices.ESB.UDDIPublisher.exe). Now, continue to the next step, even though you might get some errors.
  • Navigate to SamplesManagement PortalInstallScripts from the command prompt run the following commands
    • Powershell –executionpolicy bypass –file .Management_Install.ps1
    • Management_Install.cmd

    ESB-Management-Console

    Now, without any errors/exceptions, the portal should be configured. Check if the ESB.Portal is available in IIS. When you open Internet Explorer and navigate to http://localhost/ESB.Portal you should see the ESB Management Console home page.

    Phew!!! That’s how we configured ESB Portal.

    Hub for Modern and Legacy World

    Now we will come to the second option, custom portal…!

    Even though the Exception Management framework is very robust and strong, the Exception Management Portal that comes out of BizTalk Server is not that easy to configure as we have experienced.

    Exception-Management-Portal

    Firstly, the portal from the ESB Toolkit can be replaced with a portal within BizTalk360. BizTalk360 addresses these challenges in several ways. As with all features within BizTalk360, this portal is protected with security and auditing.

    You don’t need to configure the default ESB portal. We want to mention here that a few of our customers haven’t installed the ESB portal.

    Instead, they are using BizTalk360’s ESB Portal alone and from the portal, they are performing actions successfully.

    To be able to repair ESB Faults, there is an Edit and Resubmit feature in BizTalk360. To make the repair even easier, you can write and associate Knowledge Base articles to the ESB Faults. So, in case of recurring problems, you can simply document the solution in such a KB article and associate it with the ESB Fault, thereby making repairs in the future easier.

    ESB-Exception-Management

    How much time will it take to configure ESB portal within BizTalk360?

    All you need to do to configure the ESB Exception management framework within BizTalk360, is to simply provide the connection string to your ESB exception database, relevant to your BizTalk Environment.

    That’s it! You are set (takes about 3 minutes, definitely not more than that).

    Check the below blogs to know more about BizTalk360 ESB Portal.

    BizTalk360 is ready for BizTalk Server 2020!

    For those of you who are not aware of BizTalk360, I would like to give a short intro and we are excited to announce that after working with Microsoft for the past few months, we are now fully supporting Microsoft BizTalk Server 2020 with our latest release.

    Why not give BizTalk360 a try? It takes about 10 minutes to install on your BizTalk environments. Get started with the free 30 days trial.

    The post Configuring ESB in BizTalk Server 2020 appeared first on BizTalk360.

    BizTalk Server 2020 sticker

    BizTalk Server 2020 sticker

    Recently I was challenged by my dear friend Wagner Silveira, to create another BizTalk Server sticker for INTEGRATE 2020 London, this time for BizTalk Server 2020. You may be aware of my previous BizTalk Stickers that you may find it here: Get your BizTalk Server 2016 Stickers!.

    BizTalk Server 2016 sticker

    Note: personally, this is, without a doubt my favorite.

    And of course the infamous badass T-Rex
    version:

    BizTalk Server 2016 sticker

    And the last one here: BizMan, The BizTalk Server Superhero Sticker

    BizTalk Server sticker

    And of course, this was my answer: @WSilveiraNZ a new BizTalk Server 2020 sticker is being made… just to let you know 🙂 #msbts but then Coen Dijkgraaf joined and asked if the sticker would be available on time for Global Integration Bootcamp?

    I was undecided
    about whether to publish or wait to INTEGRATE to be a surprise. But I at the
    end I decided to create not one but two stickers:

    • On to published during the INTEGRATE event… spam alert: it is awesome!
    • And this one above to publish now in order for you all to grab it and go to a graphics shop to make your BizTalk Sticker. A simple and clean BizTalk Server 2020 sticker identical to the logo that I publish this week: BizTalk Server 2020: a new unofficial logo
    BizTalk Server 2020 sticker

    This package is a collection of 3 different image formats of the new BizTalk
    Server 2020 sticker, two of them are available in vector
    format that will allow you to use and resize without losing quality:

    • BizTalkSticker.ai
    • BizTalkSticker.pdf
    • BizTalkSticker-01.png

    All of the
    resources are in the original size ready to print in a graphics shop.

    Thanks to Cristóvão Silva (Graphic & Web Designer @ DevScope) for helping me creating these resources.

    I hope you enjoy!

    Download

    BizTalk Server 2020 sticker
    Microsoft | TechNet Gallery

    The post BizTalk Server 2020 sticker appeared first on SANDRO PEREIRA BIZTALK BLOG.