Debugging and exception handling
Elisa is an administrator for HWLC's BizTalk Server 2010 platform. She is receiving messages through the
ReceiveNewCustomer
Receive Port. She wants to route any message that fails processing to theSendFailureNotification
Send Port that is configured to use SMTP to send the failed messages by mail to her. How must she configure theSendFailureNotification
Send Port to receive failures that occurred on theReceiveNewCustomer
Receive Port?Enable Failed Message Routing for the
ReceiveNewCustomer
port. Configure theSendFailureNotification
Send Port to have a filter onBTS.ReceivePortName = ReceiveNewCustomer
.Enable Failed Message Routing for the
SendFailureNotification
port. Configure theSendFailureNotification
port to filter onBTS.ReceivePortName = ReceiveNewCustomer
.Enable Failed Message Routing for the
SendFailureNotification
port. Configure theSendFailureNotification
Send Port to have a filter onErrorReport.ReceivePortName = ReceiveNewCustomer
.Enable Failed Message Routing for the
ReceiveNewCustomer
port. Configure theSendFailureNotification
Send Port to have a filter onErrorReport.ReceivePortName = ReceiveNewCustomer
.
HWLC have nightly batch loads of customer information from a legacy system into a new RDMS system. The new system has very strict rules set up, and does not allow null values for vital fields or strings in integer fields. The Schema used to receive data from the legacy system in BizTalk Server 2010 has implemented those rules. The legacy system has not implemented these rules and HWLC is experiencing customers arriving with incorrect data. The customer batch is de-batched in the Receive Pipeline's
XmlDisassembler
component and entered into the new system one by one. HWLC wants all correctly formatted customers to be entered into the new system and wants only the incorrectly-formatted customers to be suspended, and not the whole batch. What must be done to allow the correct messages to proceed?On the Receive Port from the legacy system, enable Ordered Delivery and make sure that Stop sending subsequent messages on current message failure is not enabled
On the Send Port to the RDMS system, enable Ordered Delivery and make sure that Stop sending subsequent messages on current message failure is not enabled
On the Receive Port from the legacy system, set
RecoverableInterchangeProcessing
toTrue
on theXMLDisassembler
componentOn the Send Port to the RDMS system, set
ProcessingInstructionsOptions
to1
on theXMLAssembler
component
Carly, a developer at HWLC, has been tasked with creating unit tests for a BizTalk Server 2010 solution. A senior developer has told her to use the
ValidateInstance
method to unit test Schemas. She instantiates the Schema class, but can find no such method. What must she do to be able to use theValidateInstance
method?Manually add references to
Microsoft.BizTalk.TestTools
andMicrosoft.XLANGs.BaseTypes
Set the project's Enable Unit Testing option to True
Cast the Schema class to a
TestableSchemaBase
classConfigure the
Input Instance Filename
property of the Schema file to point to the instance to validate
HWLC has implemented an Orchestration that processes the sensor data. The sensor data is delivered once every second. The next message to arrive makes the previous message obsolete. Suspending the instance in case of failure is not meaningful. The requirement is that a warning needs to be logged to the
EventLog
and then the Orchestration should end without leaving any suspended instances. What must be done to the Orchestration to allow this behavior?Implement the Orchestration without using any scopes. Ensure that the Report to Analyst property of the Orchestration is set to True.
Implement the Orchestration using a scope to encapsulate all the logic. Ensure that the Report to Analyst property of the scope is set to True.
Implement the Orchestration using a scope to encapsulate all logic. Add an exception block to catch the exception. Use the
EventLog
class to write to theEventLog
. Use the Throw Exception shape to re-throw the exception and end the Orchestration.On the Receive Port where the sensor data message is first received by BizTalk, select Enable routing for failed messages.
HWLC has implemented a process that receives sensor data from an engine performance test bench system. The data is sent to a downstream service for further processing through a solicit-response port. At occasions the service is unavailable. The Orchestration has encapsulated all its logic inside a scope and has implemented an exception block to catch the exception and use a Terminate shape to end gracefully without suspending the Orchestration instance. When the Orchestration terminates, there are still suspended messages left on the Send Port. What must you do so there are no messages suspended on the port when errors occur?
Enable Failed Message Routing on the Send port. Configure an Orchestration to filter on the
ErrorReport.SendPortName
property.Enable Failed Message Routing on the Send port. Configure an Orchestration to Filter on
BTS.AckType = NACK
andBTS.AckSendPortName
.Configure an Orchestration to Filter on
BTS.AckType = NACK
andBTS.AckSendPortName
.Configure the logical port in the Orchestration with Delivery Notification so that the Orchestration waits for the port processing to complete and throws a
DeliveryFailureException
if there are failures.
HWLC is currently considering implementing unit testing. Which BizTalk artifacts have unit testing APIs?
Schemas, Maps, and Pipeline components
Schemas, Maps, and Pipelines
Schemas Maps, and Orchestrations
Orchestrations