Visual Studio BizTalk Schema Generator Wizard error: Error occurred while creating the BizTalk port configuration file

Visual Studio BizTalk Schema Generator Wizard error: Error occurred while creating the BizTalk port configuration file

After several days migrating BizTalk open-source contributions like BizTalk Mapper Extensions UtilityPack, BizTalk Pipeline Components Extensions Utility Pack, BizTalk MapperExtensions Functoid Project Template, BizTalk MapperExtensions Functoid Wizard and several tools like BizTalk Filter Finder Tool, BizTalk Bindings Exporter Tool, or BizTalk Port Multiplier Tool for BizTalk Server 2020. It is time to get back to one of my favorite topics error and warnings, cause, and solutions blog post. This time on a small development issue that I got recently while I was trying to Consume Adapter Service to generate the Oracle schemas inside Visual Studio.

I have done these thousands of times and it is a very straightforward task once you know how to communicate with Oracle system but this time I got the following error:

Error occurred while creating the BizTalk port configuration file. Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

Consume Adapter Service Schema Generator BizTalk port configuration error

A curiosity is that the Wizard was able to successfully generate the Oracle Schemas. The problem occurred while it was trying to generate the Binding file.

Cause

Unfortunately, I don’t know exactly the cause reason for this error. In my view, the same occurred due to some special character coming from the Oracle resources that are being consumed or incompatibilities between Oracle data types and .NET data types and that are used to generate the Binding file.

Nevertheless, this is not a stopping issue. You still have all the necessary BizTalk resources generated by the wizard: the Oracle schemas. The only thing that is not generated is the binding file, which is extremely useful to create the receive or send port in the BizTalk Server Administration Console. However, despite this constraint, you are still able to manually create the port without requiring the binding file.

Solution

Well, you know me, it is possible to manually create the ports without requiring the binding files, however, this is an accelerator that I prefer not to lose. So, I had to investigate and solve this problem, before it appears more often.

And in fact, the solution is quite easy:

  • On the Consume Adapter Service Schema Generator Wizard, while you are configuring the connection string to Oracle, configure the URI, select the Binding Properties tab.
Consume Adapter Service Schema Generator BizTalk port configuration solution
  • On the Binding Properties tab, scroll down to the Metadata section. There you will find a property called: EnableSafeTyping.
    • This feature controls how the adapter surfaces certain Oracle data types and by default this value is false.
  • To solve this issue you need to change the EnableSafeTyping value to true.
Consume Adapter Service Schema Generator BizTalk port configuration solution

Since not all .NET and Oracle types are created equally, we occasionally need to set the value true for this property to handle some constraints around data types.

This is not a unique Oracle issue, this same error may happen when you are trying to generate schemas from SAP also.

The post Visual Studio BizTalk Schema Generator Wizard error: Error occurred while creating the BizTalk port configuration file appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Server 2020 – 20 days, 20 posts: BizTalk Bindings Exporter Tool for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts: BizTalk Bindings Exporter Tool for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts – day 3. Sorry for the delay but with this COVID-19 situation and with 3 small kids at home, sometimes it can be a challenge to find time to do community work and to write. Nevertheless, for today I have chosen to migrate another crucial and productivity tool that I really enjoy using it: BizTalk Bindings Exporter Tool to be compatible with BizTalk Server 2020. Once again, I hope you enjoy it as much as I do.

BizTalk Bindings Exporter Tool

BizTalk Binding Exporter Tool is a simple tool that will suppress the absence of advanced binding file generation capabilities in the BizTalk Server Administration Console allowing you to generate and export a binding file from BizTalk Applications in an intuitive and easy way.

Exporting a BizTalk Server Application binding is, at first sight, a simple and quick task that can be done using the BizTalk Server Administration Console. But even in simple tasks, we may encounter challenges that require us to perform some monotonous and boring manual operations that consume some of our precious time and are always subject to failures.

Normally the binding exportation starts in development, but we also will need to generate the same bindings for other environments like production and for that we normally need to open the binding file and replace/fix the differences for each different environment… which is normally a tedious operation. What we need to replace is mainly:

  • the URI’s: it should be fixed, but it is not mandatory. If you know what you are doing, you can fix them directly on the environment after you import the Binding.
  • the host instances: not mandatory, if you have the same host and host instances names across all your different environments (as best practices will tell you to do).
  • the NT Group Name associated in the Services (Orchestrations): according to securities best practices you shouldn’t use the same BizTalk Groups in different environments, so in this case, if you follow these best practices, you need to change these parameters in your binding file.

Normally, everyone changes the URI’s but neglecting the other parameters may be causing problems during the Binding import.

This tool will extend default BizTalk Server capabilities transforming the tedious and sometimes complicate binding generation a little simple and easy.

DevScope BizTalk Bindings Exporter Tool

You just need to specify the connection string to the BizTalk Management database (BizTalkMgmtDb)

DevScope BizTalk Bindings Exporter Tool

And this tool allows you to generate and export binding files with the following capabilities:

  • Export binding(s) file(s) for an entire Application or a list of Applications;
  • Export binding(s) file(s) from a specify Assembly or list of Assemblies;
  • Export binding(s) file(s) from a Receive Port or list of Receive Ports;
  • Export binding(s) file(s) from a Send Port or list of Send Ports;
  • Or Generate different binding files for each environment if you create an Excel File with the mapping for each environment ;

Other versions

This tool is also available for the following BizTalk Server versions:

Download

You can download BizTalk Bindings Exporter Tool from:
BizTalk Bindings Exporter ToolBizTalk Bindings Exporter Tool
GitHub

The post BizTalk Server 2020 – 20 days, 20 posts: BizTalk Bindings Exporter Tool for BizTalk Server 2020 appeared first on SANDRO PEREIRA BIZTALK BLOG.

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.

BizTalk Bindings Exporter Tool for BizTalk Server 2013 R2

BizTalk Bindings Exporter Tool for BizTalk Server 2013 R2

Recently my team and I developed and released several tools that extend the out-of-box capabilities of BizTalk Server 2016 for developer and administration teams to be more productive, saving times in some simple but time-consuming tasks that should d supposed to be. One of these tools was BizTalk Bindings Exporter Tool.

Because many clients still are using BizTalk Server 2013 R2, and because I had received some requests from the community, I will be releasing these tools for BizTalk Server 2013 R2 also. And today, we will stat with the BizTalk Bindings Exporter Tool

BizTalk Bindings Exporter Tool

BizTalk Binding Exporter Tool is a simple tool that will suppress the absence of advanced binding file generation capabilities in the BizTalk Server Administration Console, allowing you to generate and export a binding file from BizTalk Applications in an intuitive and easy way.

Exporting a BizTalk Server Application binding is, at first sight, a quick and straightforward task that can be done using the BizTalk Server Administration Console:

  • Click Start, click All Programs, click Microsoft BizTalk Server 20xx, and then click BizTalk Server Administration
  • In the console tree, expand BizTalk Server Administration, expand the BizTalk Group, and then expand Applications
  • Right-click the application whose bindings you want to export, point to Export, and then click Bindings…
  • On the Export Bindings page, in Export to file, type the absolute path of the .xml file to which to export the bindings
  • Ensure that Export all bindings from the current application option is selected, and then click OK

But even in simple tasks, we may encounter challenges that require us to perform some monotonous and boring manual operations that consume some of our precious time and are always subject to failures. Because out-of-the-box BizTalk Administration Console doesn’t allow you to:

  • Export a Binding file of a specif Receive Port or list of Receive Ports;
  • Export a Binding file of a specif Send Port or list of Send Ports;
  • Export a Binding file of a specif Assembly or list of Assemblies;

And these are just a few scenarios. You can only fully Export the binding files of an entire application, which will lead you to sometimes extensive and fallible manual work to clean the binding files.

Usually, the binding exportation starts in development. Still, we also need to generate the same bindings for other environments like production, and for that, we usually need to open the binding file and replace/fix the differences for each different environment… which usually is a tedious operation. What we need to replace is mainly:

  • the URI’s: it should be fixed, but it is not mandatory. If you know what you are doing, you can fix them directly on the environment after you import the Binding.
  • the host instances: not mandatory, if you have the same host and host instances names across all your different environments (as best practices will tell you to do).
  • the NT Group Name associated in the Services (Orchestrations): according to securities best practices you shouldn’t use the same BizTalk Groups in different environments, so in this case, if you follow these best practices, you need to change these parameters in your binding file.

Normally, everyone changes the URI’s but neglecting the other parameters may be causing problems during the Binding import.

Once again, this tool will extend default BizTalk Server capabilities transforming the tedious and sometimes complicate binding generation a little simple and easy.

DevScope BizTalk Bindings Exporter Tool

You just need to specify the connection string to the BizTalk Management database (BizTalkMgmtDb)

DevScope BizTalk Bindings Exporter Tool

And this tool allows you to generate and export binding files with the following capabilities:

  • Export binding(s) file(s) for an entire Application or a list of Applications;
  • Export binding(s) file(s) from a specify Assembly or list of Assemblies;
  • Export binding(s) file(s) from a Receive Port or list of Receive Ports;
  • Export binding(s) file(s) from a Send Port or list of Send Ports;
  • Or Generate different binding files for each environment if you create an Excel File with the mapping for each environment ;

Credits also to my team member at DevScope, Pedro Almeida that collaborated in the development of this tool.

Download

You can download BizTalk Bindings Exporter Tool from:
BizTalk Bindings Exporter ToolBizTalk Bindings Exporter Tool
GitHub

The post BizTalk Bindings Exporter Tool for BizTalk Server 2013 R2 appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Bindings Exporter Tool

BizTalk Bindings Exporter Tool

Following my commitment with the attendees at Integrate 2019 London and US that shared with me the same headaches and concerns, and following my series of posts about “BizTalk Bindings Exportation” published on BizTalk360 blog. I’m happy to announce the birth of a new BizTalk Server tool: BizTalk Bindings Exporter Tool.

BizTalk Binding Exporter Tool” is a simple tool which will suppress the absence of advanced binding file generation capabilities in the BizTalk Server Administration Console allowing you to generate and export a binding file from BizTalk Applications in an intuitive and easy way.

Exporting a BizTalk Server Application binding is, at first sight, a simple and quick task that can be done using the BizTalk Server Administration Console:

  • Click Start, click All Programs, click Microsoft BizTalk Server 20xx, and then click BizTalk Server Administration
  • In the console tree, expand BizTalk Server Administration, expand the BizTalk Group, and then expand Applications
  • Right-click the application whose bindings you want to export, point to Export, and then click Bindings…
  • On the Export Bindings page, in Export to file, type the absolute path of the .xml file to which to export the bindings
  • Ensure that Export all bindings from the current application option is selected, and then click OK

But even in simple tasks, we may encounter challenges that require us to perform some monotonous and boring manual operations that consume some of our precious time and are always subject to failures. Because out-of-the-box BizTalk Administration Console doesn’t allow you to:

  • Export a Binding file of a specif Receive Port or list of Receive Ports;
  • Export a Binding file of a specif Send Port or list of Send Ports;
  • Export a Binding file of a specif Assembly or list of Assemblies;

And these are just a few scenarios. You can only fully Export the binding files of an entire application which will lead you sometimes an extensive and fallible manual work to clean the binding files.

Normally the binding exportation starts in development, but we also will need to generate the same bindings for other environments like production and for that we normally need to open the binding file and replace/fix the differences for each different environment… which is normally a tedious operation. What we need to replace is mainly:

  • the URI’s: it should be fixed, but it is not mandatory. If you know what you are doing, you can fix them directly on the environment after you import the Binding.
  • the host instances: not mandatory, if you have the same host and host instances names across all your different environments (as best practices will tell you to do).
  • the NT Group Name associated in the Services (Orchestrations): according to securities best practices you shouldn’t use the same BizTalk Groups in different environments, so in this case, if you follow this best practices, you need to change these parameters in your binding file.

Normally, everyone changes the URI’s but neglecting the other parameters may be causing problems during the Binding import.

Once again, this tool will extend default BizTalk Server capabilities transforming the tedious and sometimes complicate binding generation a little simple and easy.

DevScope BizTalk Bindings Exporter Tool

You just need to specify the connection string to the BizTalk Management database (BizTalkMgmtDb)

DevScope BizTalk Bindings Exporter Tool

And this tool allows you to generate and export binding files with the following capabilities:

  • Export binding(s) file(s) for an entire Application or a list of Applications;
  • Export binding(s) file(s) from a specify Assembly or list of Assemblies;
  • Export binding(s) file(s) from a Receive Port or list of Receive Ports;
  • Export binding(s) file(s) from a Send Port or list of Send Ports;
  • Or Generate different binding files for each environment if you create an Excel File with the mapping for each environment ;

Credits also to my team member at DevScope, Pedro Almeida that collaborated in the development of this tool.

You can download BizTalk Bindings Exporter Tool from:
BizTalk Bindings Exporter ToolBizTalk Bindings Exporter Tool
GitHub

Or from:
BizTalk Bindings Exporter ToolBizTalk Bindings Exporter Tool
Microsoft | Code Gallery

The post BizTalk Bindings Exporter Tool appeared first on SANDRO PEREIRA BIZTALK BLOG.

Multiple Binding Files in an Application

This sample shows how to use multiple binding files inside an Application to allow for one MSI to be used on multiple target environments. When you add multiple binding files as resources to your application, a drop list will appear when you import your MSI on your target environments.

This sample works with BizTalk 2006 and BizTalk 2006 R2.

Get more information from the original blog post on this topic: https://www.biztalkgurus.com/biztalk_server/biztalk_blogs/b/biztalk/archive/2006/09/12/how-to-add-multiple-binding-files-to-an-application-in-biztalk-2006.aspx