Biztalk Interview Questions
Biztalk Interview Questions
Biztalk Interview Questions
Introduction
This article intends to cover the answers to BizTalk schema related questions, which a BizTalk developer can face
during an interview.
A schema is a term borrowed from the database world to describe the structure of data in relational tables.
In the context of XML, a schema describes a model for a whole class of documents. See MSDN Different
Types of BizTalk Schemas .
7. Can schema have two nodes with the same name and different datatypes?
Yes, as long as they are not in the same scope.
11. What is the difference between Group Max occurs, Group Min Occurs and Max occurs, Min Occurs?
These are all node properties. See MSDN Node Properties .
Group Max Occurs: Specifies the maximum number of times that to the underlying group content of the
selected All Group node can occur.
Group Min Occurs: Specifies the minimum number of times that the underlying group content of the
selected All Group node can occur.
Max Occurs: Specifies the maximum number of times that the element corresponding to the selected
Record node can occur.
Min Occurs: Specifies the minimum number of times that the element corresponding to the selected
Record node can occur.
An XML Schema is basically a contract of your message and defines it. The XML Schema definition (XSD)
language defines the structure of an XML instance message, and this is the intended purpose of XSD, such
schemas use XSD in a straightforward way. See MSDN Different Types of BizTalk Schemas .
16. Can we have schema without a target namespace? What will be its MessageType?
Yes, we can have a schema without target namespace and it's message type will be the Root node.
17. Which property is only available for the flat file schema?
Custom Date/time property is only available for flat file schema.
19. What is the difference between BizTalk (Schema) Editor and BizTalk Schema Generator?
BizTalk Editor resides within the Microsoft Visual Studio shell. Some of the functionality within BizTalk Editor
relies upon existing user interface elements within the Visual Studio shell. See Using BizTalk Editor .
BizTalk can automatically create the schema from DTD, well formed XML, XDR. To do this schema generator
is used.
26. How to create an XPath alias to a field which can be used in decision making in Orchestration?
The Distinguished field is an XPath alias to the field.To create it , right-click the element-->Promote-->Show
promotion-->Add
30. How BizTalk engine performs a validation of an instance of the message against the Schema?
By default, BizTalk Server will examine only the namespace and the root node name of a message to identify
and validate the schema, and will not detect extra elements in the message body. To perform a deep
validation of a message format, you have to create a Custom Pipeline with the XML Disassembler
component. See more here .
31. What are encoding options available used by BizTalk when creating schema?
There are various options but BizTalk always uses UTF-16 encoding for their schemas. See more.
34. What is the difference between XSD and DTD? Difference between XSD and DTD are listed below:
Introduction
This article intends to cover the answers to the mapping related questions, which a BizTalk developer can face during
an interview.
14. Why should pages to be added to Map Grid if all can be done on a single page?
Multiple pages enable you to organize your links so that any one page does not become too cluttered and
confusing.It is also very helpful to label the pages and the links.
16. Can value from Orchestration variable be passed to the destination field in the Map?
Yes, it can be done, by creating a new schema which will contain fields for capturing values from
Orchestration variable and with the help of LoadXml to load the values. This schema can be used along with
an other source schema and mapping can be done. The variable also can be passed inside the Assign shop
in an expression.
20. Can the graphic map representation and external XSLT be used in a single map?
No. As everything which we see in Map grid (links, functoids) are overwritten when external XSLT is used.
21. Can we debug Map just like .Net code?
Yes. Right click the map to debug and select "Debug Map".
23. What is the BizTalk Mapper Designer and where I can find it?
It is a tool that runs within the Microsoft Visual Studio .NET environment after you install BizTalk Server. We
use the Mapper to create and edit maps.
25. What are grid pages and how many can we have?
The mapper grid plays a critical role in the definition of maps, containing the links and functoids that control
how data in a source instance message is transformed into an instance message that conforms to the
destination schema.
The grid view can have multiple layers, called grid pages, allowing you to organize complex maps into logical
subdivisions of mappings. BizTalk 2010 no longer has the limitation of 20 grid pages that exist in the
previous versions of the product.
26. Is it possible to link the output of a functoid placed on the right side of the map grid with a functoid
placed on the left side of the map grid?
No, it is not possible as grid follows left to right precedence. An output link of the first functoid has to be
placed into an input of the second functoid.
Introduction
This article intends to cover the answers to orchestration related questions, which a BizTalk developer can face during
an interview.
Questions and Answers
1. How are messages created in an orchestration?
You construct a message any time that you introduce a message into your orchestration, either by receiving
it or by assigning values to a message variable (see MSDN Constructing Messages ). There are several
ways to create a new instance of a message in an orchestration, see Michael Stephenson blog post Message
Construction in an Orchestration .
7. Types of messages?
Two types of message
o Typed message : A message created in Orchestration is bound to the schema
o Untyped message : A message is bound to System.Xml.XmlDocument instead of the schema.
xmlDoc.LoadXml("<Employee><first_name>Joe</first_name><last_name>Smith</
last_name></Employee>");
9. Can recursion be achieved in Orchestration?
No
12. Is it necessary for all .Net components being called from orchestration to be serializable?
Yes it is necessary (good practice) for all .Net components being called to be serializable. If not then Atomic
scope is to be used which has its own limits.
17. XMLDocument is non-serializable still it's called without atomic scope with no error, why?
It is the only exception to the requirement of types for variables having to be serializable and treated
as special case. See more here
18. What is the maximum number of properties that can be used in correlation set?
The correlation set can have a maximum of three properties used for correlation on the receive shapes.
19. Can an Atomic scope can have an exception handler of their own?
No, it can only have a Compensation Block.
Con's:
c. Can lead to subscribing to messages published by another publisher
26. What is the maximum number of branches that can be used in a parallel shape?
There are no limitations on the number of branches which can be used in a parallel shape.
30. What is the difference between written property and promoted property?
Promoted properties can be used as criteria in message routing while written properties cannot. Property
field is a Promoted Property in the context. Distinguished field is a Written property in the context.
37. What's the main difference between Call and Start Orchestration?
Calling an orchestration will use the same thread to run another orchestration while using Start
Orchestration will create a new thread to run the started orchestration.
A Call Orchestration returns the control back to the caller. A Start Orchestration shape starts the
orchestration in a non-deterministic way.
As a conclusion, Calling an Orchestration will be synchronous operation where the caller waits for a
response, while Start Orchestration is asynchronous operation. See more here .
38. What are the different types of transactions available for orchestration?
Unlike traditional programming, BizTalk Server supports two distinct types of transactions: atomic and long-
running. See more here .
42. Is it possible to use Message Assignment shape and Transform shape individually?
No, it is not possible, Transform and Message assignment shape must run under construct shape.
43. Is it possible to use IF Then Else logic inside the Message Assignment?
No, It is not possible to use the If Then Else Logic inside the message Assignment. It has to be used in the
expression shape.
44. How to Promote Property inside an Orchestration?
The Orchestration can not promote the properties to message context by default like pipelines can do by
using the msg.Context.Promote() method. Inside Orchestration one has to create a correlation set and
intialize that correlation set while publishing the message. Then the BizTalk Engine will promote the property
to the message context.
BizTalk Developer Interview Questions
and Answers - BizTalk Application
Table of Contents
Introduction
Questions and Answers
Author
Contributors
See Also
Introduction
This article intends to cover the answers to BizTalk Application related questions which a BizTalk developer can face
during an interview.
MessageBox is a SQL server database along with messaging agent. See MSDN MessageBox .
Checking the subscription table is the First thing when messages come in MessageBox and a copy of the
message is sent to the subscriber.
The message is suspended when there are no subscribers found for it.
1. Activation
2. Instance
Instance subscriptions are removed from the message box while Activation subscriptions remain active as long as
the orchestration or send port is enlisted.
Instance subscriptions are removed from the message box while Activation subscriptions remain active as long as
the orchestration or send port is enlisted.
7. Is it possible to have various ports with the same name in two applications?
No. The names of the various ports must be unique, not just inside an Application but for the whole BizTalk
group.
In Unlisted state send port does not subscribe to any messages and no messages will be sent through the
port.
9. What could be the reason for having multiple receive locations inside one Receive port?
The reason for having multiple receive locations inside one Receive port is to have the ability to receive
different messages from different locations and having BizTalk treat them as if they were received from the
same place and/or had the same message type.
The group hub gives the user an overview of what is currently going on inside BizTalk.
12. Ordered delivery on send port has serious performance impact, why?
Because only one thread can submit messages through the port and each message has to wait for messages
through the port and each message has to wait for the message before it can be processed.
13. Ordered delivery does not have an effect even after it is set, when this might happen?
Messages in BizTalk are immutable after constructed and the message is considered constructed after it is
placed into the MessageBoxDatabase.
17. How it's possible to work with several pipelines as soon as new Application is created?
BizTalk.System is already referenced in all new applications, as a result of this we can work with several
pipelines as soon as a new application is created.
18. What happens to message when all subscribers have received their message?
BizTalk will no longer need to hold on the message and the message will be removed from BizTalk.
19. What can be done to avoid loss of messages in a scenario where we know beforehand unavailability of the
destination system, but source system is publishing messages?
In this scenario we can stop the send port bound to the destination system. This way the messages will lie in
a queue inside Messagebox. Subsequently, we can start the send port when the destination system is
available.
When Failed message routing is enabled and if an error occurs at the port, then the message will have all the
regular context properties unprompted and instead have some error-specific context properties promoted -
all in the ErrorReport Namespace e.g. ErrorReport.ErrorType, ErrorReport.ReceivePortName etc.
A filter on the send port is the first step to enable subscriptions in BizTalk.
Introduction
This article intends to cover the answers BAM related questions, which a BizTalk developer can face during an
interview.
BAM alerts allow you to configure and receive alerts related to specific changes in business data. Alerts are
set up per BAM view.
5. What is ContinuationID?
Continuation is the ability to contribute to a single BAM activity from different applications by using two
different unique identifiers as the ActivityID. For example, in one part of a business process, a customer’s PO
number might be used to track an activity. In another part of the process, an internal order fulfillment
number might be used to track the same activity. You could enable continuation and relate the PO number
and the order fulfillment number, so that both parts of the process could add information to the same
activity.
6. What is TDDS?
Tracking Data Decode Service or TDDS, is a service that moves event data from the MessageBox database to
the BAM Primary Import database. This service processes and persists both Business intelligence and BizTalk
Health Monitoring data.
To indicate that two activities are related, you need to know both names and have the
corresponding ActivityIDsin memory in order to call AddRelatedActivity. This API creates the link between
the corresponding activity records. See more here .
12. Is BAM Tools a prerequisite for EDI/AS2 Runtime in BizTalk Server 2010?
That depends on the functionalities (features) you want to install, but for me the correct answer is no. See
morehere .
15. Where the data came from, what the BAM Data Sources?
The most commonly data sources used with BAM are:
o BizTalk Application
o BAM API
o WCF Services (WCF Interceptor)
o WF Workflows (WF Interceptor)
17. It is required to track custom code used in application, which can be used TPE/BAM API or both can
be used?
TPE can't be used here as it can only be used to capture data from BizTalk artifacts, thus BAM API have to be
used.
Messaging Event Stream (MES) Asynchronous, participates in BizTalk Server pipeline transactions.
Introduction
This article intends to cover the answers to the BizTalk pipeline related questions, which a BizTalk developer can face
during an interview.
2. What is the maximum message size supported by XML send an XML receive pipeline?
This depends on infrastructure specifications (CPU, Memory, Disk) and on specific (possible) bottlenecks in
your Microsoft BizTalk Server system (see MSDN How BizTalk Server Processes Large Messages ). While
BizTalk Server imposes no restriction on message size, practical limits and dependencies might require you
to minimize the size of your messages because large messages require more processing resources (see
MSDN Message Considerations ).
5. Does Flat file assembler pipeline component validates the incoming XML message?
No
6. What is a .btp File?
.btp file is a BizTalk Server pipeline file.
7. How many states have the Receive Pipelines and the Send Pipelines?
The receive pipeline consists of four stages
o Decode Stage: This stage is used for components that decode or decrypt the message.
o Disassemble Stage: This stage is used for components that parse or disassemble the message.
o Validate Stage: This stage is used for components that validate the message format.
o Resolve Party Stage: This stage is a placeholder for the Party Resolution Pipeline Component.
o Pre-assemble Stage: This stage is a placeholder for custom components that should perform some
action on the message before the message is serialized.
o Assemble Stage: Components in this stage are responsible for assembling or serializing the
message and converting it to or from XML.
o Encode Stage: This stage is used for components that encode or encrypt the message.
Pipelines and pipeline components present out of the box can do most of the tasks for you. But sometime
specific message processing or messaging requirements encourage developers to develop custom pipeline
components. You can create three types of pipeline components: general, assembling, and disassembling.
Each of the three types can additionally implement probing functionality. Each type of pipeline component
has an associated interface that must be implemented for the component to be plugged into the BizTalk
Messaging Engine; the pipeline interfaces that distinguish the types of components are IComponent,
IAssemblerComponent, and IDisassemblerComponent. A custom pipeline component is just a plain .NET
class that implements several BizTalk interfaces.
12. Which property is required when using Flat file Disassembler component?
Setting the Document Schema property is required, all other properties are optional.
13. What if Document Schema property is not specified when using Flat file Disassembler component?
A runtime schema discovery will be attempted, Biztalk Server attempts to determine the correct flat file
schema to assemble the message with, based on the namespace and the root node of the message.
14. Which API is used to implement Pipeline?
To implement pipeline we have to use the API in the Microsoft. BizTalk. Component. Interop namespace.
16. Why attributes are added to class while developing a custom component?
To indicate that the component is a custom pipeline component and in which stage it can be used, couple of
attributes are added to the class.
[ComponentCategory(CategoryTypes.CATID_PipelineComponent)] -- This attribute tells that the component
is cutom pipeline component
[ComponentCategory(CategoryTypes.CATID_Any)] -- This attribute tells that the component
can be used at any stage
OR
[ComponentCategory(CategoryTypes.CATID_DisassemblingParser)] -- This attribute tells that the component
can be used only on Disassemble stage
17. Custom Component is not visible in Toolbox, even after adding the assembly to GAC?
Just adding assembly is not sufficient, it needs to be added to component dll at location : C:\Program
Files\Microsoft BizTalk Server
2010\PipelineComponents and then reset the toolbox, it will be visible and ready to use.
18. What interfaces are used in developing a general custom pipeline component?
IBaseComponent,IComponentUI,IComponent,IPersistPropertyBag
6. Can I create or configure Receive Ports or Send Ports through Visual Studio?
That depends of the BizTalk Version/Visual Studio that you are using! In previous version you could create
and configure port through the BizTalk Explorer view in Visual Studio, but since BizTalk Server 2010 the
BizTalk Explorer view was removed from Visual Studio.
Introduction
This article intends to cover the answers to BRE related questions, which a BizTalk developer can face at during an
interview.
6. What is a Policy?
A policy is a logical grouping of rules. You compose a version of a policy, save it, test it by applying it to the
facts, and, when you are satisfied with the results, publish it and deploy it to a production environment. See
more here .
10. What is the difference between Publishing and Deploying the Rule?
Rule alone cannot be published or deployed, it has to be wrapped under Policy and then published and
deployed. When a policy is deployed it is ready to use and can't be edited whereas when published, policy
aren't ready for use.
12. Can we call a specific version of Policy using Call rule shape in Orchestration?
No, as the call rules shape calls the latest version of the policy deployed.
16. How does it differ, calling the policy in Call Rules Shape and in Expression?
The Call Rules shape in the Orchestration calls only the latest version of the policy. To call an older (specific)
version from within an orchestration, the Business Rules Framework APIs is used, which can be called from
within an expression.
17. How to test specific rules (not all) defined under one policy?
To be answered
Introduction
This article intends to cover the answers to XSLT related questions, which a BizTalk developer can face during an
interview.
7. Can the filter be applied to the output from the xml file?
Yes. It can be done by adding a criterion to the select attribute in the <xsl:for-each> element.Filter operators
which can be used are:
o =(equal)
o != (not equal)
o < less than
o > greater than
Introduction
This article intends to cover the answers to the developer related questions on Helper classes with BizTalk, which a
BizTalk developer can face during an interview.
Questions and Answers
1. What is a helper class?
A .net helper class with the context of BizTalk is a class (library) that can support an orchestration with extra
functionality. It can enhance an orchestration in tracing, error handling, caching, and
serialization/deserialization. See TechNet Wiki article BizTalk Server 2010: .NET Helper Classes.
6. Is it possible to create a .Net class variable in BizTalk if property "Use default constructor" is set to
false?
Yes it is possible, in this case the variable will need to be instantiated in an Expression shape through the
new keyword.
7. What is Gacutil.exe?
The Global Assembly Cache tool allows you to view and manipulate the contents of the global assembly
cache and download cache. See MSDN GacUtil.exe .
10. Why helper class/.Net assembly doesn't list in the Resources of Application, in spite of having
reference to it and used in the application?
Because resources are meant to hold only BizTalk resources.
gacutil /i assemblypath
12. There is a .net helper class which suits to a requirement (in Orchestration) of an application but it is
Non-Serializable, how can it be used?
Below are the steps :
a. Add Reference
b. Make Orchestration as Long running
c. Add Atomic Scope
d. Add Expression shape
e. Orchestration variable of class inside scope
f. Instance of object inside the scope
g. Call method
Introduction
This article intends to cover the answers to BizTalk Adapter based questions, which a BizTalk developer can face
during an interview.
6. Which port do you need configure in a firewall for in and outbound traffic when using the FTP
Adapter?
For the FTP adapter you will need to configure port 20 and/or 21. See MSDN Ports for the Receive and Send
Servers .
9. What is the default value of Retry count and Retry interval (min)?
The default value is "5". This can be altered through the Advanced Options Tab of the Transport Properties
of a Send Port. See MSDN How to Configure Transport Advanced Options for a Send Port .
12. What you mean with Native Adapters and Custom Adapters?
Native adapters are those that are shipped with the product and there are more than 25 multi-platform
adapters. But in some cases a BizTalk Server may need to transport messages to a specific custom
application or use a protocol for which a native adapter does not exist. If you are unable to locate an adapter
to support your communication requirements, BizTalk Server provides a framework for developers so that
you can develop your own custom adapter.
13. I've heard the term connector in BizTalk. So what's the difference between an adapter and a
connector?
Probably the same thing. In BizTalk, we can call a connector as a software component that enables you to
easily exchange messages between BizTalk Server with different systems, i.e, it's an adapter- a
communications service used to exchange documents with your trading partners or your internal systems.
Introduction
This article intends to cover the answers to BizTalk functoid based questions, which a BizTalk developer can face
during an interview.
4. What is the difference between Value Mapping and Value Mapping Flattening functoid?
o Value Mapping: When both the source and the destination schemas define parallel repeating
structures between which the relevant data is mapped.
o Value Mapping (Flattening): When the source schema defines a repeating structure and the
destination schema defines a flat structure, such that different instances of the repeating structure
in the source schema are intended to be mapped into the unique elements in the flat structure in
the destination schema.
5. How can you build an if-then-else construction with functoids?
To build if-then-else it will need any of the Logical functoid (depending upon the requirements, e.g., if the
value is to be matched then Equal Functoid) and a Value mapping functoid. The combination (Logical
Functoid and Value Mapping Functoid) will repeat, firstly to implement IF condition and secondly to
implement ELSE condition.
7. What is Microsoft.BizTalk.BaseFunctoids.dll?
This DLL implements all the base classes which are needed to create a functoid.
o Advanced
o Conversion
o Cumulative
o Database
o Date and Time
o Logical
o Mathematical
o Scientific
o String
11. Can we concatenate 200 input parameters using String Concatenate functoid?
No. As the minimum input parameter accepted is 1 and the maximum is 100.
12. How can we get the count of the repeating node or repeating element?
Record Count Functoid can be used here, the input to this is the looping record/element.
13. Is it possible to know the index of the current record in looping structure?
Yes with the use of Iteration functoid. Iteration functoid gives the index of the current record in a looping
structure.
BizTalk Developer Interview Questions
and Answers - EDI
Table of Contents
Introduction
Questions and Answers
Author
See Also
Introduction
This article intends to cover the answers to BizTalk EDI related questions, which a BizTalk developer can face during an
interview.
Electronic data interchange (EDI) is a document standard which when implemented acts as common
interface between two or more computer applications in terms of understanding the document transmitted.
It is commonly used by big companies for e-commerce purposes, such as sending orders to warehouses or
tracking their order.
2. What are the things which make EDI solutions differ from standard XML solutions?
EDI solutions are on the same line as XML solutions but involved more complexities in schema, maps etc.
Also few more things are to be done like setting up and configuring the trading partners (business profiles,
parties, agreements etc.).
BizTalk already ships with the standard EDI schemas. To use it we need to extract the schemas using the
MicrosoftEdiXSDTemplates.exe file, located in the root of the XSD_Schema\EDI folder.
o
UTF-8 is the default Character set supported and it is used for run-time validation and applies only to EDI
X12.
When BizTalk is not able to resolve the agreement, then it uses the fallback agreement properties.
7. It is required to use EDI Pipeline in the EDI solution, but I can't see in the options?
EDI pipelines are not included in the Application as XML and Pass Thru pipelines are available. A reference to
the BizTalk EDI Application is to be explicitly added so as to use EDI pipelines.
8. What are the values which Segment Separtor Suffix and Segment Terminator Suffix can have?
The EDI sends pipeline performs a party lookup by performing a series of steps to determine whether there
is a match between the outgoing interchange and the properties of a party.
10. What are the options to release EDI Batch messages to destination?
There are four options which can be used as deciding factor and then release:
o Schedule : At regular intervals
o Maximum Number of Transaction Sets :Fixed number of transactions within an Interchange
o Maximum Number of Characters in an Interchange : Number of characters
o External Release Trigger : Whenever a Trigger Message is given to BizTalk
11. Is it possible to receive Multiple Interchanges in a Single Message and parse it?
Yes it's possible to receive Multiple interchange in a single message and to parse it, the pipeline property
calledDetectMID is to be set as True.
2. The MessageBox database holds all the messages that are processed, what about messaging Objects?
Messaging objects viz. Receive Ports, Receive Locations, Send ports, etc. are stored in the Management
Database.
3. Is there any change in the database when the filter is added to Send port or when Activate property
of Receive shape is set to true?
Yes. An entry is added in subscription table.
10. Which database stores the configuration information for receive locations?
Single Sign-On database (SSODb) securely stores the configuration information for receive locations, other
known secret information is stored in the BizTalkMgmtDb.
12. What are the options for upgrading BizTalk Server Database?
There are two ways for upgrading
1.In Place upgrade
2.Transfer Upgrade.
See More
Introduction
This article intends to cover the answers to BizTalk HL7 related questions, which a BizTalk developer can face during
an interview.
Schemas: Contains the XSD representation of HL7 messages which are in flat file format in version v2.x
Pipelines: Converts HL7 messages in flat file format into XML on receive and XML to flat file when sending
messages and validates the HL7 message
Adapter: Minimal Lower Layer Protocol (MLLP) adapter enables BizTalk to receive or send HL7-based
messages, which BizTalk Server typically transports using the MLLP protocol. The MLLP adapter ensures that
BizTalk Server and BTAHL7 are interoperable with HL7-based messaging applications.Generates
acknowledgements for received messages
Tools and Utilities: Configuration Explorer, MLLP Test Tool, SDK, Logging framework
AA – Application Accept
AE – Application Error
AR – Application Reject
2. What is the ESB Toolkit version shipped with BizTalk Server 2013 R2 ?
2.3
3. Can there be any drawbacks which you need to take care before deciding to implement ESB Toolkit ?
It is a security issue that can happen while doing ESB Toolkit setup in a multi-server configuration. This
happens when ESB Portal web application refused to forward the impersonated credentials to the SQL Server
since it is on another server. An identity delegation rights should be given to the application pool. Refer
this to know more details.
6. How you can use ESB Toolkit and BRE for BizTalk application development ?
We can have BRE resolver to achieve more dynamic routing approach. Rules can be configured not only for
transport or transformation but also for itinerary itself.
8. What is an Itinerary?
Itinerary (also described as "Routing slip") is a mediation Policy which can be attached to a message which
comes to the ESB dynamically. Itinerary provides pictorial view of message flow with On/Off Ramp
9. Can we encrypt Itinerary?
Yes, in fact, visual studio default option is to enforce encryption. Since Itineraries may potentially contain
sensitive configuration information, “Itinerary Encryption”was introduced to encrypt your itineraries with a
certificate before exporting them.
10. What is resolver, and can you list out the ESB toolkit provides?
A component which feeds runtime configuration values to the Adapter provider the so that it can
dynamically configure the Dynamic Adapter at run-time. It is a .NET component having a collection of entries
which tells what values to use for various BizTalk components.
Example: STATIC, UDDI, XPATH, BRE, BRI, ITINERARY, ITINERARY-STATIC, LDAP
13. What is Routing Slip pattern? How ESB toolkit supports it?
Routing Slip pattern is widely used message routing pattern and used when a message is routed through a
series of components in a pre-defined order (may be unknown during design time). ESB provides this
pattern via Itinerary-based processing. A business rule can be used to select an Itinerary for a message
dynamically. See How to in msdn .
16. I can see my Itinerary in the EsbItineraryDb database and set the correct resolver connection string in
the pipeline but I still see the error "The itineraryESBTransformServiceItinerary was not found in the
repository. ", why??
The Itinerary need to be in the Deployed status in order to use it. To verify this, you can either
check nStatus column value "1? in Itinerary table or ItineraryStatus column in Visual Studio by selecting
Model Exporter as Database.
You won't be able to call the itinerary in Published status.
17. Why there is no Itinerary status option when choosing XML Itinerary Exporter?
Because you have chosen to export your Itinerary in XML for moving it to a different environment. Once you
are importing it to the targeted environment, you have an option for "Publish" / "Deploy".
18. How to move itineraries from one environment to another (e.g. QA to Production)?
An EsbImportUtil.exe utility tool is a good option used to publish or deploy the itinerary XML into the
ESBItineraryDB database.
19. What is ESB Dispatcher?
It sets endpoint location properties for the outbound message using ESB resolution guidance.
20. Can you summarize a typical Message Life Cycle in ESB Toolkit?
On-Ramp -> ESB Pipeline (ESB Context promotion) -> Itinerary -> MessageBox -> Queue message for
subscriber -> Subscriber (Orchestration / Off-Ramp). Referthis MSDN Article for details
24. What are the three commonly used promoted properties to subscribe correct message of an itinerary
service?
ServiceName, ServiceState, ServiceType