BizTalk Server Best Practices, Tips, and Tricks: #18 Orchestration Designer Shortcut Keys

BizTalk Server Best Practices, Tips, and Tricks: #18 Orchestration Designer Shortcut Keys

Welcome again to another BizTalk Server Best Practices, Tips, and Tricks blog post! In my previous blog posts, I discussed some essential tips and tricks for BizTalk Server administrators:

And for BizTalk Server Developers:

Today we are going to switch and speak about another critical Best practice, Tips, and Tricks, this time for BizTalk Server developers: Orchestration Designer Shortcut Keys

#18 Orchestration Designer Shortcut Keys

The Orchestration Designer design surface provides full accessibility using the keyboard. This accessibility begins when you open the design surface, which you can do in Visual Studio by selecting menu options starting with the New option on the File menu.

Accessibility is also supported within the design surface, where, for example, you can select different shapes and parts of shapes by pressing the Up and Down arrows. When a shape is selected on the design surface, it is highlighted on the design surface and in the Orchestration View window (if applicable). At the same time, the Properties grid also displays information about the selected shape.

Orchestration Designer supports accessibility by providing many shortcut keys. Different shortcut keys are available depending on what part of the design surface you use.

You can also use many of the existing shortcuts available in Visual Studio, for example, when you are using Microsoft IntelliSense in the BizTalk Expression Editor.

Shortcut Keys General to the Design Surface

Key Effect
TAB Moves the selection and focus to the shape with inactive selection in the next design surface area on the right (the Process Area or Port Surface). Example: Selection and focus are currently on a port in the left Port Surface. When the TAB key is pressed, selection and focus move to the shape with an inactive focus in the Process Area.
SHIFT + TAB Same as TAB, but in the opposite direction.
PAGE DOWN Scrolls the page down so that later parts of the orchestration are shown. Selection and focus do not change.
PAGE UP Same as the PAGE DOWN key, but in the opposite direction. Selection and focus do not change.
SHIFT + PAGE DOWN Horizontally scrolls the entire design surface to the left by set increments. Selection and focus do not change.
SHIFT + PAGE UP Same as SHIFT + PAGE DOWN except that the design surface scrolls to the right. Selection and focus do not change.
ENTER Performs the default action for the selection, which usually means shifting focus to the Properties grid.
SPACE Selects the shape that currently has the focus. There is no effect if the focus is on a shape connector.
CTRL + SHIFT + F1 Toggles between expansion and collapse of the Smart Tag of a selected shape. UP and DOWN ARROW can then be used to move through the items of a Smart Tag. When expanded, the Enter or Space keys execute the related action of a Smart Tag item (as well as collapsing the Smart Tag).
DELETE Deletes the current selection.

Shortcut Keys Specific to the Process Area

Key Effect
DOWN ARROW Moves the selection to the next connecting line or shape below. If the shape is connected to several branches below (as in the case of a Decide shape), the selection moves to the first shape in the leftmost branch. If selection is on the End shape for the orchestration, pressing this key has no effect because there are no more shapes below it. If selection is on the Return shape within a branch of a complex shape, the next shape is the endpoint of the complex shape.
UP ARROW Moves the selection to the next connecting line or shape above. If the shape is connected to several branches above, the selection moves to the last shape on the leftmost branch (even if the last shape of the branch is a Return shape). Pressing this key has no effect when the Start shape is selected.
LEFT ARROW If the selection is on a Send or Receive shape and the shape is connected to a port: If the shape has a port connector leading to a port in the Left Port Surface, focus and selection shift to the port connector of the shape. If the shape has a port connector leading to a port in the Right Port Surface, pressing this key has no effect. If the shape has no port connector, navigation is the same as with any other shape. For other shapes (or Send or Receive shapes not connected to a port): If the selection is in a branch, and a branch exists with shapes on it to the left of the current branch, the selection moves to the nearest shape on the branch to the left. The key has no effect anywhere else in the orchestration.
RIGHT ARROW Same as the LEFT ARROW key, but in the opposite direction.
HOME The selection changes to the connector that leads from the Start shape of the orchestration.
END The selection changes to the connector, leading to the orchestration’s End shape.
NUM LOCK + – Collapses the selected complex shape.
NUM LOCK + + Expands the selected complex shape.
NUM LOCK + * Expands the selected complex shape, plus any child complex shapes it may have.

Shortcut Keys Specific to the Port Surfaces

Key Effect
DOWN ARROW If a Role Link has the focus, it shifts to the first port inside. If no ports are inside the Role Link, the focus shifts to the next port or Role Link below it. If a port has the focus, it shifts to the next port or operation below it. If an operation has the focus, it shifts to its first operation part. For the template, the focus shifts to the next port. If an operation part has the focus, it shifts to the next operation part, operation, or port below it. There is no effect if no more objects exist below the current one.
UP ARROW Same as the DOWN key, but in the opposite direction. There is no effect if no more objects exist above the current one.
RIGHT ARROW Left Port Surface: If an operation part has the focus, it goes to the first port connector leading out of it. If there are no connections on the current operation part, pressing this key has no effect. If an operation has the focus, the focus goes to the first port connector of the operation’s first part that has a connection. If there are no connections in the operation, pressing this key has no effect. If a port connector gets the focus, whatever was selected in the Port Surface receives inactive selection. Right Port Surface: No effect.
LEFT ARROW Same as the RIGHT ARROW key, except in the opposite directions (that is, no effect for the left Port Surface, and the focus can go onto a port connector for the right Port Surface).
HOME Focus and selection shift to the first shape in the channel.
END Focus and selection shift to the last shape in the channel.

Shortcut Keys Specific to Port Connectors

Key Effect
RIGHT ARROW Port connectors leading to the Left Port Surface: Focus and selection shift to the connecting Send or Receive shape. The port connector is deselected. Port connectors leading to the Right Port Surface: Focus and selection shift to the connecting operation part. In this case, whatever has a selection in the Process Area now receives an inactive selection.
LEFT ARROW Same as the RIGHT ARROW key, except directions are reversed.
DOWN ARROW Focus and selection shift to the port connector on the next operation part. If the last connector on the last port has focus, pressing this key has no effect.
UP ARROW Same as the DOWN ARROW key, except in the opposite direction. If the first connector has focus, pressing this key has no effect.
HOME Focus shifts to the shape connector leading out of the Start shape.
END The focus shifts to the shape connector leading into the End shape.
DELETE The port connector is deleted. This clears the Port Operation property on the Send or Receive shape. Focus shifts to the affected Send or Receive shape.

I hope you enjoy this developer tip and stay tuned for the following BizTalk Server Best practices, Tips, and Tricks.

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc.

He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.
View all posts by Sandro Pereira

How to create a Logic App Consumption Visual Studio project

How to create a Logic App Consumption Visual Studio project

Unfortunately, until this date, there isn’t available an Azure Logic Apps Tools for Visual Studio Extension for Visual Studio 2022, which means that we still need to use Visual Studio 2019 to create Logic App Consumption projects with Visual Studio.

An opposite to other Azure Services like Azure Functions that have a dedicated Azure Function project Template:

There isn’t a Logic App Consumption Visual Studio project template. Instead, we need to use the Azure Resource Group project template, and inside we will select that it will be applying a Logic App template.

Creating a Visual Studio Logic App Consumption project

The Logic Apps designer integrates with the current Azure Resource Group project. That saying, you will not find any Logic App template in the list of templates. Instead, we need to create an Azure Resource Group project to get started, and to do that, we need:

  • Open Visual Studio, and on the Create a new project panel, select C# -> Azure -> Cloud, or search for Azure Resource Group:
    • From the list of project templates, select the Azure Resource Group template.
  • On the Configure your new project panel, give a proper Project name, Location, and Solution name. Leave the Framework as .NET Framework 4.7.2 and select Create.
  • Finally, on the Select Azure Template panel, from the Visual Studio Templates list, select the Logic App template and select OK.

This will create an empty Visual Studio Logic App solution. Now on the Visual Studio solution:

  • Right-click on the LogicApp.json file and select Open With Logic App Designer.
  • This will open a Logic App Properties window, where you need to:
    • Define the credentials to authenticate on the Azure subscription.
    • Define the Subscription and Resource Group where you want to create these resources.
    • Define if you want the Location to be in the same Region or in an Integration Service Environment (ISE) – be aware the ISE is being deprecated.
  • And then select OK.

This will embed the Logic App designer inside the Visual Studio.

Now you need to select a common trigger, a template, or use a blank Logic App to start creating your business process.

Hope you find this helpful! So, if you liked the content or found it helpful and want to help me write more content, you can buy (or help buy) my son a Star Wars Lego! 

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc.

He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.
View all posts by Sandro Pereira

BizTalk Server tips and tricks for developers: How to create a .NET class from a schema

BizTalk Server tips and tricks for developers: How to create a .NET class from a schema

Sometimes we want to bypass the adapters and perform the communication thru .NET code. Sometimes we want to access multiple values, or recursive values, of a message inside a helper class that supports an orchestration. Sometimes we want to perform a complex transformation or construct a message thru .NET code instead of a BizTalk Server map.

And for each of these circumstances, we can have several approaches, one that is simple, effective, and transversal to all of them is to use the XML Schema to generate a .NET class. This way, you have a quick and straightforward way to represent the messages you get from your BizTalk processes into a .NET class.

The easy way to generate classes that conform to a specific schema is to use the need to use the XML Schema Definition tool (Xsd.exe). You can do that by:

  • Open a Developer Command Prompt for VS <edition>
  • On the command prompt, navigate to the Schema folder and type
    • xsd /classes /language:CS Schema1.xsd

For complex schemas that import or include other schemas you need to provide all the dependencies, for example:

  • xsd /classes /language:CS Schema1.xsd Schema2.xsd

Now you will be able to import the C# class generated by the tool to your helper project and the rest is simple!

On the Orchestration you can create a variable that represents that class:

  • On property Type select <.NET Class…> and select the class that you created previously
  • From the Browse and Select .Net Type to reference, you need to select the proper assembly and the Type.

Then by using C# code inside Message Assign or Expression Shape you can serialize or deserialize XML document into C# and vice versa in a simple and straightforward way

//CONVERT MESSAGE INTO C# OBJECT
varPersonMsg = msgInput;

//CONVERT C# OBJECT INTO BIZTALK MESSAGE
msgOutput4 = varPersonMsg;

or if we have a function in a helper class like:

public static XmlDocument MapPersons(Person person)
{
  ...
}

we can directly pass the message to the function without the need to create a variable:

msgOutput4 = Support.Mapping.MapPersons(msgInput);

The post BizTalk Server tips and tricks for developers: How to create a .NET class from a schema appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Server 2020 – 20 days, 20 posts: XML Namespace Stripper Pipeline Component for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts: XML Namespace Stripper Pipeline Component for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts – day 19. To finalize this topic about the BizTalk Pipeline Components Extensions UtilityPack project, here another brand new component: XML Namespace Stripper Pipeline Component. I actually create this component for a need in a recent RosettaNet project.

XML Namespace Management Pipeline Component

This custom XML Namespace Stripper Pipeline Component is a pipeline component for BizTalk Server which can be used in a Send Pipeline (Encode stage) to remove all namespaces and prefix from an XML message.

Once again, the goal of this component is to clean up all namespaces and prefix present in XML outbound messages, transforming the the message from this:

<?xml version="1.0" encoding="utf-8"?>
<ns0:Pip7B1WorkInProcessNotification xmlns:ns0="http://schemas.microsoft.com/biztalk/btarn/2004/7B1_MS_V01_00_WorkInProcessNotification.dtd" xmlns:ns1="http://Microsoft.Solutions.BTARN.Schemas.RNPIPs.BaseDataTypes" xmlns:ns2="http://www.w3.org/XML/1998/namespace">
  <ns0:fromRole>
    <ns0:PartnerRoleDescription>
      <ns0:ContactInformation>
        <ns0:contactName>
          <ns0:FreeFormText>Demo</ns0:FreeFormText>
        </ns0:contactName>
        <ns0:EmailAddress>[email protected]</ns0:EmailAddress>
        <ns0:telephoneNumber>
          <ns0:CommunicationsNumber>000-111-2222 EXT 1111</ns0:CommunicationsNumber>
        </ns0:telephoneNumber>
      </ns0:ContactInformation>
      <ns0:GlobalPartnerRoleClassificationCode>Solution Provider</ns0:GlobalPartnerRoleClassificationCode>
      <ns0:PartnerDescription>
        <ns0:BusinessDescription>
          <ns0:GlobalBusinessIdentifier>000000001</ns0:GlobalBusinessIdentifier>
        </ns0:BusinessDescription>
        <ns0:GlobalPartnerClassificationCode>Contract Manufacturer</ns0:GlobalPartnerClassificationCode>
      </ns0:PartnerDescription>
    </ns0:PartnerRoleDescription>
  </ns0:fromRole>
  ...
  <ns1:OrderReference>
	  <ns0:DocumentReference>
		<ns0:GlobalDocumentReferenceTypeCode>Purchase Order</ns0:GlobalDocumentReferenceTypeCode>
		<ns0:LineNumber>00001</ns0:LineNumber>
		<ns0:ProprietaryDocumentIdentifier>QctPoNumber_0</ns0:ProprietaryDocumentIdentifier>
	  </ns0:DocumentReference>
	  <ns0:DocumentReference>
		<ns0:GlobalDocumentReferenceTypeCode>Customer Batch Number</ns0:GlobalDocumentReferenceTypeCode>
		<ns0:ProprietaryDocumentIdentifier>Name_0</ns0:ProprietaryDocumentIdentifier>
		<ns0:RevisionNumber>Value_0</ns0:RevisionNumber>
	  </ns0:DocumentReference>
	</ns1:OrderReference>
	...
 </ns0:Pip7B1WorkInProcessNotification>

Into this:

<?xml version="1.0" encoding="utf-8"?>
<Pip7B1WorkInProcessNotification>
  <fromRole>
    <PartnerRoleDescription>
      <ContactInformation>
        <contactName>
          <FreeFormText>Demo</FreeFormText>
        </contactName>
        <EmailAddress>[email protected]</EmailAddress>
        <telephoneNumber>
          <CommunicationsNumber>000-111-2222 EXT 1111</CommunicationsNumber>
        </telephoneNumber>
      </ContactInformation>
      <GlobalPartnerRoleClassificationCode>Solution Provider</GlobalPartnerRoleClassificationCode>
      <PartnerDescription>
        <BusinessDescription>
          <GlobalBusinessIdentifier>000000001</GlobalBusinessIdentifier>
        </BusinessDescription>
        <GlobalPartnerClassificationCode>Contract Manufacturer</GlobalPartnerClassificationCode>
      </PartnerDescription>
    </PartnerRoleDescription>
  </fromRole>
  ...
  <OrderReference>
	  <DocumentReference>
		<GlobalDocumentReferenceTypeCode>Purchase Order</GlobalDocumentReferenceTypeCode>
		<LineNumber>00001</LineNumber>
		<ProprietaryDocumentIdentifier>0000000001</ProprietaryDocumentIdentifier>
	  </DocumentReference>
	  <DocumentReference>
		<GlobalDocumentReferenceTypeCode>Customer Batch Number</GlobalDocumentReferenceTypeCode>
		<ProprietaryDocumentIdentifier>demo</ProprietaryDocumentIdentifier>
		<RevisionNumber>D</RevisionNumber>
	  </DocumentReference>
	</OrderReference>
	...
</Pip7B1WorkInProcessNotification>

This component doesn’t require any configuration.

To use this pipeline component in your projects you just copy the NamespaceStripper.dll file into the Pipeline Components folder that exists in the BizTalk Server installation directory:

  • ..Program Files (x86)Microsoft BizTalk ServerPipeline Components;

on every server.

You do not need to add this custom pipeline component to be used by the BizTalk Runtime to the Global Assembly Cache (GAC).

What is BizTalk Pipeline Components Extensions Utility Pack?

BizTalk Pipeline Components Extensions Utility Pack is a set of custom pipeline components (libraries) with several custom pipeline components that can be used in received and sent pipelines, which will provide an extension of BizTalk out-of-the-box pipeline capabilities.

The project is available on the BizTalk Server Open Source Community repository on GitHub (https://github.com/BizTalkCommunity), and everyone can contribute with new pipeline components that can be extended or improve the existing BizTalk Server capabilities.

BizTalk Pipeline Components Extensions Utility Pack: JSON Encoder Pipeline Component for BizTalk Server 2020

At the moment this project is available for:

  • BizTalk Server 2020;
  • BizTalk Server 2016;
  • BizTalk Server 2010;
  • BizTalk Server 2006-2009

Where to download it?

You can download BizTalk Pipeline Components Extensions Utility Pack from GitHub here:

BizTalk Pipeline Components Extensions Utility Pack

The post BizTalk Server 2020 – 20 days, 20 posts: XML Namespace Stripper Pipeline Component for BizTalk Server 2020 appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Server 2020 – 20 days, 20 posts: XML Namespace Management Pipeline Component for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts: XML Namespace Management Pipeline Component for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts – day 18. Another blog post about the topic and project BizTalk Pipeline Components Extensions UtilityPack, but this time it is a brand new component: XML Namespace Management Pipeline Component.

XML Namespace Management Pipeline Component

This custom XML Namespace Management Pipeline Component it is basically the opposite of the XML Namespace Remover Pipeline Component. It is a pipeline component for BizTalk Server which can be used in any stage of both receive and send pipelines that allow you to add or change the namespace to inbound and outbound BizTalk Messages.

XML Namespace Management Pipeline Component

Once again, this component allow you to add a namespace to inbound and outbound BizTalk Messages, transforming the root of the message from this:

<sample>
  <to>Sandro</to>
  <from>Pereira</from>
</sample>

Into this:

<sample xmlns="http://blog.sandro-pereira.com/">
  <to>Sandro</to>
  <from>Pereira</from>
</sample>

Or change the existing namespace of inbound and outbound BizTalk Messages, transforming the root of the message from this:

<sample xmlns="http:/demo/">
  <to>Sandro</to>
  <from>Pereira</from>
</sample>

Into this:

<sample xmlns="http://blog.sandro-pereira.com/">
  <to>Sandro</to>
  <from>Pereira</from>
</sample>

This component requires one configuration that is the TargetNamespace in which you specify the namespace you want to set on the message.

To use this pipeline component in your projects you just copy the BizTalk.PipelineComponents.NamespaceMgmt.dll file into the Pipeline Components folder that exists in the BizTalk Server installation directory:

  • ..Program Files (x86)Microsoft BizTalk ServerPipeline Components;

on every server.

You do not need to add this custom pipeline component to be used by the BizTalk Runtime to the Global Assembly Cache (GAC).

What is BizTalk Pipeline Components Extensions Utility Pack?

BizTalk Pipeline Components Extensions Utility Pack is a set of custom pipeline components (libraries) with several custom pipeline components that can be used in received and sent pipelines, which will provide an extension of BizTalk out-of-the-box pipeline capabilities.

The project is available on the BizTalk Server Open Source Community repository on GitHub (https://github.com/BizTalkCommunity), and everyone can contribute with new pipeline components that can be extended or improve the existing BizTalk Server capabilities.

BizTalk Pipeline Components Extensions Utility Pack: JSON Encoder Pipeline Component for BizTalk Server 2020

At the moment this project is available for:

  • BizTalk Server 2020;
  • BizTalk Server 2016;
  • BizTalk Server 2010;
  • BizTalk Server 2006-2009

Where to download it?

You can download BizTalk Pipeline Components Extensions Utility Pack from GitHub here:

BizTalk Pipeline Components Extensions Utility Pack

The post BizTalk Server 2020 – 20 days, 20 posts: XML Namespace Management Pipeline Component for BizTalk Server 2020 appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Server 2020 – 20 days, 20 posts: Carry SOAPHeader To WCF-BasicHttp Pipeline Component for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts: Carry SOAPHeader To WCF-BasicHttp Pipeline Component for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts – day 16. We are almost finishing migrating all the BizTalk Pipeline Components Extensions UtilityPack project, today is the component: Carry SOAPHeader To WCF-BasicHttp Pipeline Component.

Carry SOAPHeader To WCF-BasicHttp Pipeline Component

The Carry SOAPHeader To WCF-BasicHttp Pipeline Component is a pipeline component for BizTalk Server which can be used in a send pipeline and is intended to carry forward the received custom SOAP Header to the outgoing message, in other words:

  • This component will read the Custom SOAPHeader from the Message Context Properties
    • The custom header name will be defined on the component configuration and we can read it from the target http://schemas.microsoft.com/BizTalk/2003/SOAPHeader
  • and will configure this custom header in the OutboundCustomHeaders property used by the WCF-BasicHTTP Adapter.

The OutboundCustomHeaders property is used if you want to specify the custom SOAP headers for outgoing messages. When this property is used, the property must have the <headers> element as the root element. All of the custom SOAP headers must be placed inside the <headers> element

  • If the custom SOAP header value is an empty string, you must assign <headers></headers> or <headers/> to this property.

This component is useful if you are implementing CBR operations on legacy service (SOAP – .asmx) using the new WCF-Adapters in BizTalk Server. Notice that the SOAP adapters, still present in BizTalk Server 2020, are obsolete and discontinued.

Carry SOAPHeader To WCF-BasicHttp Pipeline Component

This component requires one configuration that is the SOAPHeaderName where you should specify the SOAP Header name present in the inbound message to be passed to the OutboundCustomHeaders in the outgoing message.

To use this pipeline component in your projects you just copy the CarrySOAPHeader.dll file into the Pipeline Components folder that exists in the BizTalk Server installation directory:

  • ..Program Files (x86)Microsoft BizTalk ServerPipeline Components;

on every server.

You do not need to add this custom pipeline component to be used by the BizTalk Runtime to the Global Assembly Cache (GAC).

What is BizTalk Pipeline Components Extensions Utility Pack?

BizTalk Pipeline Components Extensions Utility Pack is a set of custom pipeline components (libraries) with several custom pipeline components that can be used in received and sent pipelines, which will provide an extension of BizTalk out-of-the-box pipeline capabilities.

The project is available on the BizTalk Server Open Source Community repository on GitHub (https://github.com/BizTalkCommunity), and everyone can contribute with new pipeline components that can be extended or improve the existing BizTalk Server capabilities.

BizTalk Pipeline Components Extensions Utility Pack: Carry SOAPHeader To WCF-BasicHttp Pipeline Component for BizTalk Server 2020

At the moment this project is available for:

  • BizTalk Server 2020;
  • BizTalk Server 2016;
  • BizTalk Server 2010;
  • BizTalk Server 2006-2009

Where to download it?

You can download BizTalk Pipeline Components Extensions Utility Pack from GitHub here:

BizTalk Pipeline Components Extensions Utility Pack

The post BizTalk Server 2020 – 20 days, 20 posts: Carry SOAPHeader To WCF-BasicHttp Pipeline Component for BizTalk Server 2020 appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Server 2020 – 20 days, 20 posts: CBR IDoc Operation Promotion Encode Pipeline Component for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts: CBR IDoc Operation Promotion Encode Pipeline Component for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts – day 15. Continuing the BizTalk Pipeline Components Extensions UtilityPack project topic, today I released the: CBR IDoc Operation Promotion Encode Pipeline Component.

CBR Operation Promotion Encode Pipeline Component

The CBR IDoc Operation Promotion Encode Pipeline Component is a pipeline component for BizTalk Server which can be used in send pipelines, Encode stage, to promote IDOC Operation property. This component is useful to implement a pure Content-Based Routing solution to integrate with SAP Server.

This component requires one configuration that is the MessageType string to be ignored. Then it will take the last string (word) from the MessageType Message Context Property and promote it to the Operation Message Context Property.

CBR IDoc Operation Promotion Encode Pipeline Component for BizTalk Server 2020

To use this pipeline component in your projects you just copy the CBRIdocOperationPromotionDecode.dll file into the Pipeline Components folder that exists in the BizTalk Server installation directory:

  • ..Program Files (x86)Microsoft BizTalk ServerPipeline Components;

on every server.

You do not need to add this custom pipeline component to be used by the BizTalk Runtime to the Global Assembly Cache (GAC).

What is BizTalk Pipeline Components Extensions Utility Pack?

BizTalk Pipeline Components Extensions Utility Pack is a set of custom pipeline components (libraries) with several custom pipeline components that can be used in received and sent pipelines, which will provide an extension of BizTalk out-of-the-box pipeline capabilities.

The project is available on the BizTalk Server Open Source Community repository on GitHub (https://github.com/BizTalkCommunity), and everyone can contribute with new pipeline components that can be extended or improve the existing BizTalk Server capabilities.

BizTalk Pipeline Components Extensions Utility Pack: CBR IDoc Operation Promotion Encode Pipeline Component for BizTalk Server 2020

At the moment this project is available for:

  • BizTalk Server 2020;
  • BizTalk Server 2016;
  • BizTalk Server 2010;
  • BizTalk Server 2006-2009

Where to download it?

You can download BizTalk Pipeline Components Extensions Utility Pack from GitHub here:

BizTalk Pipeline Components Extensions Utility Pack

The post BizTalk Server 2020 – 20 days, 20 posts: CBR IDoc Operation Promotion Encode Pipeline Component for BizTalk Server 2020 appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Server 2020 – 20 days, 20 posts: CBR Operation Promotion Encode Pipeline Component for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts: CBR Operation Promotion Encode Pipeline Component for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts – day 14. Continuing the BizTalk Pipeline Components Extensions UtilityPack project topic, today I released the: CBR Operation Promotion Encode Pipeline Component.

CBR Operation Promotion Encode Pipeline Component

The CBR Operation Promotion Encode Pipeline Component is a pipeline component for BizTalk Server which can be used in send pipelines, Encode stage, to promote Operation property. This component is useful to implement a pure Content-Based Routing solution to integrate with SQL Server.

The component will promote Operation property by taking the value (word) which lies ahead of the cardinal (#) from the MessageType message context property and promote it to the Operation Message Context Property.

CBR Operation Promotion Encode Pipeline Component

This component doesn’t require any configuration.

To use this pipeline component in your projects you just copy the CBROperationPromotionDecode.dll file into the Pipeline Components folder that exists in the BizTalk Server installation directory:

  • ..Program Files (x86)Microsoft BizTalk ServerPipeline Components;

on every server.

You do not need to add this custom pipeline component to be used by the BizTalk Runtime to the Global Assembly Cache (GAC).

What is BizTalk Pipeline Components Extensions Utility Pack?

BizTalk Pipeline Components Extensions Utility Pack is a set of custom pipeline components (libraries) with several custom pipeline components that can be used in received and sent pipelines, which will provide an extension of BizTalk out-of-the-box pipeline capabilities.

The project is available on the BizTalk Server Open Source Community repository on GitHub (https://github.com/BizTalkCommunity), and everyone can contribute with new pipeline components that can be extended or improve the existing BizTalk Server capabilities.

BizTalk Pipeline Components Extensions Utility Pack: XCBR Operation Promotion Encode Pipeline Component for BizTalk Server 2020

At the moment this project is available for:

  • BizTalk Server 2020;
  • BizTalk Server 2016;
  • BizTalk Server 2010;
  • BizTalk Server 2006-2009

Where to download it?

You can download BizTalk Pipeline Components Extensions Utility Pack from GitHub here:

BizTalk Pipeline Components Extensions Utility Pack

The post BizTalk Server 2020 – 20 days, 20 posts: CBR Operation Promotion Encode Pipeline Component for BizTalk Server 2020 appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Server 2020 – 20 days, 20 posts: XML Namespace Remover Pipeline Component for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts: XML Namespace Remover Pipeline Component for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts – day 13. Once again, here is another pipeline component migrate to BizTalk Server 2020 that makes part of my BizTalk Pipeline Components Extensions UtilityPack project: XML Namespace Remover Pipeline Component. This component was initially developed by Johan Hedberg

XML Namespace Remover Pipeline Component

The XML Namespace Remover Pipeline Component is a pipeline component for BizTalk Server which can be used in any stage of both receive and send pipelines to remove XML namespaces from XML documents.

This component has the availability to transform the root of the message from this:

&amp;lt;ns0:Blah xmlns:ns0="http://RemoveXmlNamespace.BTS.BlahMessage"&amp;gt;

Into this:

&amp;lt;Blah&amp;gt;

If you have the option, you shouldn’t remove the namespace from the messages. However, we don’t leave in a perfect world and we need to deal with legacy systems and sometimes they required, for unknown reasons for me, that we deliver messages without namespace.

To use this pipeline component in your projects you just copy the RemoveXmlNamespace.PipelineComponents.dll file into the Pipeline Components folder that exists in the BizTalk Server installation directory:

  • ..Program Files (x86)Microsoft BizTalk ServerPipeline Components;

on every server.

You do not need to add this custom pipeline component to be used by the BizTalk Runtime to the Global Assembly Cache (GAC).

What is BizTalk Pipeline Components Extensions Utility Pack?

BizTalk Pipeline Components Extensions Utility Pack is a set of custom pipeline components (libraries) with several custom pipeline components that can be used in received and sent pipelines, which will provide an extension of BizTalk out-of-the-box pipeline capabilities.

The project is available on the BizTalk Server Open Source Community repository on GitHub (https://github.com/BizTalkCommunity), and everyone can contribute with new pipeline components that can be extended or improve the existing BizTalk Server capabilities.

BizTalk Pipeline Components Extensions Utility Pack: XML Namespace Remover Pipeline for BizTalk Server 2020

At the moment this project is available for:

  • BizTalk Server 2020;
  • BizTalk Server 2016;
  • BizTalk Server 2010;
  • BizTalk Server 2006-2009

Where to download it?

You can download BizTalk Pipeline Components Extensions Utility Pack from GitHub here:

BizTalk Pipeline Components Extensions Utility Pack

The post BizTalk Server 2020 – 20 days, 20 posts: XML Namespace Remover Pipeline Component for BizTalk Server 2020 appeared first on SANDRO PEREIRA BIZTALK BLOG.

BizTalk Server 2020 – 20 days, 20 posts: Multi-Part Message Attachments Zipper Pipeline Component for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts: Multi-Part Message Attachments Zipper Pipeline Component for BizTalk Server 2020

BizTalk Server 2020 – 20 days, 20 posts – day 12. Once again, following my recent blog posts here is another pipeline component migrate to BizTalk Server 2020 that makes part of my BizTalk Pipeline Components Extensions UtilityPack project: Multi-Part Message Attachments Zipper Pipeline Component.

Multi-Part Message Attachments Zipper Pipeline Component

The Multi-Part Message Attachments Zipper is a pipeline component for BizTalk Server which can be used in a send pipeline and is intended to replace all attachments of a multi-part message for its zipped equivalent.

The capabilities are similar to those available in compression software such as WinZip or 7-zip:

  • Attachments Compression – Extracts, in a send pipeline, all message parts include in a multi-part message that is not included in the message body (Message Body Part = False), compresses it and attaches the compressed attachment back to the message.

No compression/decompression software needs to be installed in the BizTalk Server machines.

Multi-Part Message Attachments Zipper Pipeline Component
  • This component requires one configuration that is the FileExtension where you can specify if you want for example a .zip or .gz file.

To use this pipeline component in your projects you just copy the PipelineComponentMultipartMsgZipAttach.dll file into the Pipeline Components folder that exists in the BizTalk Server installation directory:

  • ..Program Files (x86)Microsoft BizTalk ServerPipeline Components;

on every server.

You do not need to add a custom pipeline component to be used by the BizTalk Runtime to the Global Assembly Cache (GAC).

What is BizTalk Pipeline Components Extensions Utility Pack?

BizTalk Pipeline Components Extensions Utility Pack is a set of custom pipeline components (libraries) with several custom pipeline components that can be used in received and sent pipelines, which will provide an extension of BizTalk out-of-the-box pipeline capabilities.

The project is available on the BizTalk Server Open Source Community repository on GitHub (https://github.com/BizTalkCommunity), and everyone can contribute with new pipeline components that can be extended or improve the existing BizTalk Server capabilities.

BizTalk Pipeline Components Extensions Utility Pack: Multi-Part Message Attachments Zipper Pipeline Component for BizTalk Server 2020

At the moment this project is available for:

  • BizTalk Server 2020;
  • BizTalk Server 2016;
  • BizTalk Server 2010;
  • BizTalk Server 2006-2009

Where to download it?

You can download BizTalk Pipeline Components Extensions Utility Pack from GitHub here:

BizTalk Pipeline Components Extensions Utility Pack

The post BizTalk Server 2020 – 20 days, 20 posts: Multi-Part Message Attachments Zipper Pipeline Component for BizTalk Server 2020 appeared first on SANDRO PEREIRA BIZTALK BLOG.