BizTalk Orchestration – Call Orchestration from another project or from another BizTalk Application

  • Sandro Pereira
  • Jul 24, 2009
  • 2 min read

As your BizTalk environment grows, you shouldn’t reinvent the wheel. If you have a common error-handling or logging orchestration, you should call it from every project. But if you’ve ever tried to select an orchestration from another assembly, you’ve likely seen it missing from the list.

Imagine that we have 2 Visual Studio BizTalk Projects:

  • Project1
    • Orch1
    • Schema1
  • Project2
    • Orch2

Both are deployed to the same BizTalk Application, and Orch1 from Project1 wants to call the Orch2 that exists in Project2. (This also applies if these projects are deployed to different BizTalk Applications)

📝 One-Minute Brief

Calling an orchestration from a different project or application in BizTalk Server requires specific configuration to overcome “Type Modifier” constraints. This post guides you through the process of invoking common logic across your BizTalk environment. By setting the child orchestration’s Type Modifier to Public, setting Activate to False, and managing cross-application references in the BizTalk Administration Console, you can build a reusable, modular architecture that reduces code duplication.

How can I do this?

  1. In Project2, Orch2, you have to define the Orchestration property Type Modifier to Public.
  2. In Project1, you have to add the reference to Project2.
  3. In Project1, add a Call Orchestration shape, in the property Called Orchestration, choose Select from referenced assembly.
    1. Choose Project1 reference and Orch2

The key is to define the property Type Modifier to Public in the Orchestration that you want to call from another Orchestration.

The Benefit: Clean Architecture

By decoupling common logic into a central project, you reduce the surface area for bugs and make updates much faster. Just remember: when you update a public orchestration, you may need to re-verify the references in your calling projects.

Source Code/Download

THIS COMPONENT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND.

You can download the source code, How to call Orchestration from another project or from another BizTalk Application from GitHub here:

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

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.

1 thought on “BizTalk Orchestration – Call Orchestration from another project or from another BizTalk Application”

  1. Hi Sandro,
    Thank you for this great post. I follow, from time to time, your posts regarding BizTalk. For calling a referenced orchestration, from another project, I can not seem to be able to enter parameters in the calling Orchestration to be transferred to the called referenced Orchestration. Any ideas why?

    Thank you,
    Best Regards,
    Mamdoh Ashir
    Vancouver, Canada

Leave a Reply

Your email address will not be published. Required fields are marked *

The Ultimate Cloud
Management Platform for Azure

Supercharge your Azure Cost Saving

Learn More
Turbo360 Widget

Back to Top