BizTalk Server 2016 Feature Pack 3

BizTalk Server 2016 Feature Pack 3

In this blog post we will update you on which new capabilities came with BizTalk Server 2016 Feature Pack 3. Earlier, we have also written about Feature Pack 1 and 2. You can find these articles here:

Introduction to BizTalk Server 2016 Feature Packs

In 2017, Microsoft started releasing so-called Feature Packs for BizTalk Server 2016. The concept of releasing these Feature Packs is that Microsoft doesn’t want their BizTalk Server customers to wait for new features, until a new release of BizTalk Server arrives. Instead, they want their customers to enjoy these new features, as soon as possible once they have been developed and are ready to go to market. As these Feature Packs contain non-breaking features, there is little risk that a BizTalk customer runs into issues as a result of installing such Feature Packs. These Feature Packs are only available with the Enterprise and Developer edition of BizTalk Server 2016.

Since Microsoft started with this strategy, they have released 3 Feature Packs:

The BizTalk Server 2016 Feature Packs are cumulative. This means that once you installed, for example, Feature Pack 3, you can also enjoy the features which were brought in Feature Pack 1 and 2.

You might have also noticed, that each Feature Update also contains a Cumulative Update. It is also possible to install these Cumulative Updates without the new capabilities which are provided by the Feature Packs. To check the most recent releases of these Cumulative Updates, please check this web site:

What’s new with BizTalk Server 2016 Feature Pack 3

This Feature Pack brings improvements in below mentioned areas:

  • Compliance
    • Compliance with US government accessibility standard
    • Privacy – Compliance with FIPS and GDPR
    • SQL Server 2016 SP 2 – Deploy multiple databases per instance of an Availability Group
  • Adapters
    • Office365 Outlook Email – Send and Receive messages using Office365 e-mail
    • Office365 Outlook Calendar – Create appointments using Office365 schedules
    • Office365 Outlook Contact – Create Office365 contacts
    • Web Authentication – Authenticate with Azure AD and OAuth using Microsoft Enterprise Single Sign-On
  • Administration
    • Advanced Scheduling – Set up recurrence on Receive Locations with greater precision

Compliance with FIPS and GDPR

As of this Feature pack, BizTalk Server is compatible with FIPS (Federal Information Processing Standard) and GDPR (General Data Protection Regulation).

FIPS is a standard developed by the US federal government for use in computer systems by non-military government and agencies. The specification comes with standards for among others:
  • Codes – country, region and state codes, weather conditions, emergency indications
  • Encryption – Data Encryption Standard, Advanced Encryption Standard

In case of BizTalk Server, this relates to how data becomes encrypted and decrypted in SQL Server. FIPS-compliance is enabled in the Operating System, under Local Policies; refer to the screenshot below. Once enabled, SQL Server will enter the FIPS compliant mode, thereby using cryptographic standards as defined in FIPS 140-2.

BizTalk Server 2016 Feature Pack 3: Local policies

GDPR is a European law on data protection which intends to regulate the privacy of individuals in the European Union. This new law supersedes Data Protection Directive 95/46/EC from 1995.

If you want to read more about BizTalk and GDPR, there are few resources written by Sandro Pereira on this topic:

Multiple databases in Availability Groups SQL instances

Also SQL Server 2016 SP 2 is supported from Feature Pack 3. This is especially good news when you are running SQL Server Availability Groups. Because this allows you to have multiple BizTalk databases in the same SQL instance. As this was not possible earlier, this made setting up BizTalk Server in Availability Groups complex and expensive. The reason for that, is because you needed to have multiple SQL Server instances than without Availability Groups and more expensive as you need to license each SQL Server instance in the Availability Groups.

New Adapters for Office365 connectivity

Few other interesting features of this Feature Pack are the adapters for Office365 Email, Calendar and Contacts. These adapters allow you to use Office365 accounts for receiving and transmitting emails, creating and updating calendar items and creating contacts.

The Office365 Email adapter

This adapter can be uses both for receiving as for transmitting messages. In BizTalk terms, you can use this adapter both on Receive Locations as on Send Ports.

On the receive side the adapter enables you to:

  • Select a folder from which to retrieve email

  • Select a timestamp from which you want to receive emails

  • Retrieve unread emails only

  • Select an action after the email has been read, like marking the email as read or deleting the email

When transmitting emails via a Send Port, you can set the following properties:

  • To – separate email addresses with a semicolon (‘;’), maximum 256 characters

  • CC – separate email addresses with a semicolon (‘;’), maximum 256 characters

  • Subject – enter maximum 256 characters

  • Importance – select Low, Normal or High from the drop down  in the Send Port

Also, it is important to realize that you can only send plain text messages.

Once you receive an email on a Receive Location, the Receive pipeline adds promoted properties, which you can use for routing the emails. These promoted properties are:

  • Importance

  • Subject

  • SenderName

  • SenderAddress

  • HasAttachments

The Office365 Calendar adapter

You can use this adapter both for receiving events as for transmitting events. To be able to receive/send events you need to have the XSD schemas for both operations. You will find these schemas here:

Program Files (x86)Microsoft BizTalk Server 2016SDKSchemas

Related to calendars, this folder contains the following schemas:

The advantage of having these schemas is, that you can determine yourself which elements you will promote for routing purposes.

When you want to receive calendar items, you can select a calendar from an Office365 Outlook account. Next, you can configure that you want to receive events which are starting within a particular time frame.

You can also use the adapter to create events from BizTalk Server. Therefore, you can, populate a message according the above mentioned Send schema. Yet, some event properties can also be set on the Send Port. The properties you can set on a Send Port are:

The Office365 Contact adapter

You can use the Contact Adapter for creating contacts in Office365. For this adapter too, Microsoft has provided a schema. You will find this schema in the same location as the Calendar schemas and has the following name:

Office365OutlookContactSend.xsd

Again, because you can add this schema to your BizTalk solution, you can determine yourself which fields you would like to promote. The Send Port configuration only allows you to sign in with an Office365 account. You cannot configure any contact properties on the Send Port.

Note: To be able to use the Office365 adapters from BizTalk, besides Feature Pack 3, you need to install TMS. This service refreshes the Office OAuth tokens which BizTalk uses. After installation of the Feature Pack, navigate to the installation folder of BizTalk Server (Program Files (x86)Microsoft BizTalk Server 2016).  There you will find BizTalkTMS.msi, which you must install.

Read this article for more details about the Office365 adapters for BizTalk Server 2016.

Advanced Scheduling of Receive Locations 

Scheduling Receive Locations has always been hard with the out-of-the-box capabilities of BizTalk Server. Often people used the open source Scheduled Task Adapter which exists since BizTalk Server 2004. Currently, Sandro Pereira maintains this adapter on GitHub.

The open source Scheduled Task Adapter does a good job. But, organisations might prefer not to go for open source software, but still they might have a need to schedule Receive Location(s). Microsoft has listened to their requests and introduced Advanced Scheduling of Receive Locations with Feature Pack 3!

Below screenshots show how the scheduling capabilities of a Receive Location look like, before and after installation of Feature Pack 3.

BizTalk Server 2016 Feature Pack 3: Scheduling before Feature Pack 3 BizTalk Server 2016 Feature Pack 3: Scheduling with Feature Pack 3


In case of the Feature Pack 3 scenario, the upper part of the screen
is extended with capabilities to select a time zone and to configure automatic adjustment for Daylight Saving Time (DST).

The ability of setting the time zone can help in case your integration partner(s) live in different regions of the world. Using the Time Zone drop down will make it easier to configure when Receive Locations will pick up messages according the partner’s time zone.

Daylight Saving Time, also mentioned Summer Time, is a practice which is done in a number of countries in the Northern and Southern hemisphere. During DST, the clock becomes advanced one hour close to Spring and adjusted backwards in Autumn. This way daylight lasts longer in the evening. These adjustments might effect the proper working of your interfaces. That’s why Microsoft introduced the ability to automatically adjust the schedule of your Receive Locations, according DST.

By the way: did you know that the Data Monitoring features in BizTalk360 are also compliant to Daylight Savings? Our colleague Mekala wrote an article about it. Here you have the link to that article:

Especially the Service Window capability of Receive Locations are improved hugely. The original ability to configure just a Start and a Stop time has been extended with the following recurrence features:

  • Daily – configure the number of recurring days and from which date the recurrence will be active

  • Weekly – configure the number of recurring days, from when the recurrence will be active and on which weekdays the recurrence must be active

    BizTalk Server 2016 Feature Pack 3: Weekly Service Window

  • Monthly – configure which months and which days the recurrence should take place
    BizTalk Server 2016 Feature Pack 3: Monthly Service Window BizTalk Server 2016 Feature Pack 3: Monthly Service Window

Conclusion

With BizTalk Server 2016 Feature Pack 3, Microsoft has released many useful features for BizTalk Server 2016. The Office365 adapters, the improved scheduling capabilities and the support of SQL Server 2016 SP2 (because of simplification of  Availability Groups) can be considered as the most useful ones.

Meanwhile, the community is also waiting for the release of BizTalk Server vNext which has been announced recently. This version of BizTalk underlines the on-going commitment of Microsoft in the platform. The new version of BizTalk will, amongst others, contain all the release Feature Packs for BizTalk Server 2016.

You can receive this kind of announcements and many other interesting articles in the Microsoft Integration space directly in your email box, by subscribing to our monthly Integration Newsletter. You can find the August edition of this newsletter, which provides more information about BizTalk vNext, here.
Microsoft BizTalk Server 2016 Feature Pack 2 Released

Microsoft BizTalk Server 2016 Feature Pack 2 Released

Microsoft earlier today released BizTalk Server 2016 Feature Pack 2 for Microsoft BizTalk Server. This release comes 7 months after Microsoft announced the Feature Pack 1 for Microsoft BizTalk Server 2016.

The BizTalk Server 2016 Feature Pack 2 (FP2) contains all functionalities of Feature Pack 1 and all the fixes in the Cumulative Update 3. This FP2 can be installed on BizTalk Server 2016 Enterprise and Developer Edition. You can download the latest version from here.

What’s available in BizTalk Server 2016 Feature Pack 2

In BizTalk Server 2016 Feature Pack 2, Microsoft is adding the following capabilities –

  • Deploy applications easily into multiple servers using Deployment Groups
  • Backup to Azure Blob Storage account
  • Azure Service Bus adapter now supports the Service Bus Premium capabilities
  • Full support for Transport Layer Security 1.2 authentication and encryption
  • Support for HL7 2.7.1
  • Expose SOAP endpoints with API Management
  • Event Hub Adapter to send and receive messages from Azure Event Hubs
  • Ability to use SQL default instances and SQL named instances with Application Insights

Application Lifecycle Management with VSTS

With BizTalk Server 2016 Feature Pack 1, Microsoft introduced the capability where users can perform continuous build and deployment seamlessly. Check out the detailed blog article that covers the ALM Continuous Deployment Support with VSTS via Visual Studio capability in detail.

In BizTalk Server 2016 Feature Pack 2, Microsoft has added improvements where users can use deployment groups to deploy BizTalk applications to multiple servers. This comes in addition to using the agent-based deployment.

Backup to Azure Blob Storage account

In BizTalk Server 2016 Feature Pack 2, once you have installed and configured BizTalk server, you can configure the Backup BizTalk Server job to backup your BizTalk databases and log files into Azure Blob storage account.

BizTalk Server 2016 Feature Pack 2

Event Hub Adapter in BizTalk Server 2016

With BizTalk Server 2016 Feature Pack 2, you can send and receive messages between Azure Event Hubs and BizTalk Server.

BizTalk Server 2016 Feature Pack 2

BizTalk Server 2016 Feature Pack 2

Azure Service Bus adapter now supports the Service Bus Premium capabilities

You can use the Service Bus adapter to send and receive messages from Service Bus queues, topics and relays. With this adapter, it becomes easy to connect the on-premise BizTalk server to Azure. In BizTalk Server 2016 Feature Pack 2, you can send messages to partitioned queues and topics. Additionally, FP2 supports Service Bus Premium capabilities for enterprise scale workloads.

BizTalk Server 2016 Feature Pack 2

Expose SOAP endpoints with API Management

With the BizTalk Server 2016 Feature Pack 2 release, you can expose a WCF-BasicHTTP receive location as an endpoint (SOAP based) from the BizTalk Server Admin console. This enhancement comes in addition to the API Management integrations made in Feature Pack 1 where you can expose an endpoint through API Management from BizTalk.

BizTalk Server 2016 Feature Pack 2

BizTalk Server 2016 Feature Pack 2

BizTalk Server 2016 Feature Pack 2

Ability to use SQL default instances and SQL named instances with Application Insights

In BizTalk Server 2016 Feature Pack 1, Microsoft introduced the capability for users to be able to send tracking data to Application Insights. The Feature Pack 2 supports additional capabilities such as support for SQL default instances and SQL named instances. In addition, users can also send tracking data to Azure Event Hubs.

BizTalk Server 2016 Feature Pack 2

BizTalk Server 2016 Feature Pack 2

Within Application Insights, under the Metrics section, select Custom to view the available tracked properties.

BizTalk Server 2016 Feature Pack 2Image Source – Microsoft Documentation

Download and Get Started with BizTalk Server 2016 Feature Pack 2

The BizTalk Server 2016 Feature Pack 2 can be installed on BizTalk Server 2016 Enterprise and Developer Edition (retail, CU1, CU2, CU3, FP). You can download the latest version from here.

Summary

It is really exciting to see the Feature Pack updates being released by the Pro Integration team. This really shows their commitment to Microsoft BizTalk Server and their vision to integrate on-premise solutions with the cloud.

Author: Sriram Hariharan

Sriram Hariharan is the Senior Technical and Content Writer at BizTalk360. He has over 9 years of experience working as documentation specialist for different products and domains. Writing is his passion and he believes in the following quote – “As wings are for an aircraft, a technical document is for a product — be it a product document, user guide, or release notes”. View all posts by Sriram Hariharan

BizTalk360 Support Team meets the Microsoft Escalation Team

BizTalk360 Support Team meets the Microsoft Escalation Team

Community events are an integral part of BizTalk360. TechMeet360 is an innovative technology event drive taken by BizTalk360 where all the technical admirers integrate and get endless possibilities to learn and explore different cutting edge technologies.

On April 21st 2017, a whole organizing team of Global Azure Bootcamp 2017 was gearing up for the event. All the preparation was going on in full swing. I found the wave of enthusiasm spreading on everybody’s face and doings. Administration panel was busy with final checklist preparation and gift packaging. Our Event coordinators (Arun/Sriram/Kuppurasu) were busy with accommodation arrangements for the speakers. For the first time, Microsoft speakers (Deepak Rajendran, Harikharan Krishnaraju, Vinod Sundarraj, Amit Kumar Tripathi, Madhura Bharadwaj, Karan Singh) presented at a Coimbatore event. We wanted to improve our work culture and take inspiration from Microsoft, so we invited the speakers to the BizTalk360 office for a round of technical discussion. Originally planned for 1-hour session, went close to 2.5 hours. The entire engineering team was ready with a bunch of questions to be discussed with the team during the meeting which had been arranged.

With full of excitement, it was 6.30 pm in the evening and the team here at BizTalk360 was waiting for the arrival of the speakers from Microsoft product support group, excited to welcome the team in our office. After all the welcome formalities, as planned the discussion panel had been set up and the whole BizTalk360 engineering team – Microsoft meet up began with a warm introduction.

Lucky people get opportunities (we are lucky enough to get the opportunity to work at BizTalk360 since we are community focussed and not just work focussed), brave people create opportunities (here we have awesome techies to create the opportunities), and the Winners are those who convert problems into opportunities (here we all are having a record of success to convert problems into opportunities, to solve one common problem). Precisely this is what our two flagship products are built with. To solve the problems in the integration platform, we have converted the problem into a solution.

Here at BizTalk360, all the above-said things are happening in the right proportion. Opportunities will knock just once. It is up to you to make yourself grow to the next level. Every day is a new start here to grab new ways of learning technology and shape yourself personally and professionally.

The discussion arranged with Microsoft product support team was a great opportunity for us to gather their experiences and make most out of it. Discussion started with how the support process guidelines the Microsoft escalation team. Regardless of the issue, how the given problem statement to be approached and how to build a good relationship with the customer is a most essential factor of our discussion. Be it a production issue or a staging, essentially we should understand the frustration level of the customer and go ahead with isolating the problem and navigate to the root-cause. On any fine day, an issue will get resolved, but the bond between the customer and the support engineers should last long. Treat the issue of the customer from your own shoes, this makes the customer gain lot of confidence in us and our product.

Our Understandings

As the support process, has been filtered at various levels according to the expertise, the first and foremost thing is to scope the issue:

Scoping:

Before you begin troubleshooting any problem, scoping is very important. You must distinguish what is working and what is not working. From the big picture to a small pixel as a Top-Down approach.

Isolation (narrow down to the exact root cause):

Once the problem is scoped, you need to identify where the root cause lies. A checklist would be helpful after the problem is scoped. By asking more information concerning the problem will be useful to confine it from real assumption.

A simple command prompt ping can save you from the issue. Usage of multiple troubleshooting/diagnosing tools should be used to narrow down the issue. Rather than using the external tools, we can always make use of the internal tools like command prompt, event logs and IIS trace which spares your investigating time. Additionally, open-source external tools like: Fiddler, Postman, Net-Stat, Wireshark and so on will comprehensively understand the issue.

How often can web meetings be scheduled with the customer?

Good relationship starts with a verbal conversation. It is always better to immediately get on a call with the customer to understand the problem instead of going through multiple email iterations.

Conclusion

The team wrapped up after the informative and interactive session.

By the end of the discussion, we were able to get the crux of Customer handling, troubleshooting tips, Technical Knowledge, Escalation Engineering and lot of friendship.

In the process of growth of our support process, we are further adapting/implementing the suggestions from the MS Escalation team to get acquainted with our customer expectations.

Author: Mekala Ramesh

Test Lead at BizTalk360 – Software Testing Engineer having diverse exposure in various features and application testing with a comprehensive understanding of all aspects of SDLC. Strong knowledge to establish the testing process from the scratch. Love to test the software product to deliver it with good quality. Strongly believes on “Testing goes beyond just executing the test protocol”. View all posts by Mekala Ramesh

BizTalk360 Support Team meets the Microsoft Escalation Team

BizTalk360 Support Team meets the Microsoft Escalation Team

Community events are an integral part of BizTalk360. TechMeet360 is an innovative technology event drive taken by BizTalk360 where all the technical admirers integrate and get endless possibilities to learn and explore different cutting edge technologies.

On April 21st 2017, a whole organizing team of Global Azure Bootcamp 2017 was gearing up for the event. All the preparation was going on in full swing. I found the wave of enthusiasm spreading on everybody’s face and doings. Administration panel was busy with final checklist preparation and gift packaging. Our Event coordinators (Arun/Sriram/Kuppurasu) were busy with accommodation arrangements for the speakers. For the first time, Microsoft speakers (Deepak Rajendran, Harikharan Krishnaraju, Vinod Sundarraj, Amit Kumar Tripathi, Madhura Bharadwaj, Karan Singh) presented at a Coimbatore event. We wanted to improve our work culture and take inspiration from Microsoft, so we invited the speakers to the BizTalk360 office for a round of technical discussion. Originally planned for 1-hour session, went close to 2.5 hours. The entire engineering team was ready with a bunch of questions to be discussed with the team during the meeting which had been arranged.

With full of excitement, it was 6.30 pm in the evening and the team here at BizTalk360 was waiting for the arrival of the speakers from Microsoft product support group, excited to welcome the team in our office. After all the welcome formalities, as planned the discussion panel had been set up and the whole BizTalk360 engineering team – Microsoft meet up began with a warm introduction.

Lucky people get opportunities (we are lucky enough to get the opportunity to work at BizTalk360 since we are community focussed and not just work focussed), brave people create opportunities (here we have awesome techies to create the opportunities), and the Winners are those who convert problems into opportunities (here we all are having a record of success to convert problems into opportunities, to solve one common problem). Precisely this is what our two flagship products are built with. To solve the problems in the integration platform, we have converted the problem into a solution.

Here at BizTalk360, all the above-said things are happening in the right proportion. Opportunities will knock just once. It is up to you to make yourself grow to the next level. Every day is a new start here to grab new ways of learning technology and shape yourself personally and professionally.

The discussion arranged with Microsoft product support team was a great opportunity for us to gather their experiences and make most out of it. Discussion started with how the support process guidelines the Microsoft escalation team. Regardless of the issue, how the given problem statement to be approached and how to build a good relationship with the customer is a most essential factor of our discussion. Be it a production issue or a staging, essentially we should understand the frustration level of the customer and go ahead with isolating the problem and navigate to the root-cause. On any fine day, an issue will get resolved, but the bond between the customer and the support engineers should last long. Treat the issue of the customer from your own shoes, this makes the customer gain lot of confidence in us and our product.

Our Understandings

As the support process, has been filtered at various levels according to the expertise, the first and foremost thing is to scope the issue:

Scoping:

Before you begin troubleshooting any problem, scoping is very important. You must distinguish what is working and what is not working. From the big picture to a small pixel as a Top-Down approach.

Isolation (narrow down to the exact root cause):

Once the problem is scoped, you need to identify where the root cause lies. A checklist would be helpful after the problem is scoped. By asking more information concerning the problem will be useful to confine it from real assumption.

A simple command prompt ping can save you from the issue. Usage of multiple troubleshooting/diagnosing tools should be used to narrow down the issue. Rather than using the external tools, we can always make use of the internal tools like command prompt, event logs and IIS trace which spares your investigating time. Additionally, open-source external tools like: Fiddler, Postman, Net-Stat, Wireshark and so on will comprehensively understand the issue.

How often can web meetings be scheduled with the customer?

Good relationship starts with a verbal conversation. It is always better to immediately get on a call with the customer to understand the problem instead of going through multiple email iterations.

Conclusion

The team wrapped up after the informative and interactive session.

By the end of the discussion, we were able to get the crux of Customer handling, troubleshooting tips, Technical Knowledge, Escalation Engineering and lot of friendship.

In the process of growth of our support process, we are further adapting/implementing the suggestions from the MS Escalation team to get acquainted with our customer expectations.

Author: Mekala Ramesh

Test Lead at BizTalk360 – Software Testing Engineer having diverse exposure in various features and application testing with a comprehensive understanding of all aspects of SDLC. Strong knowledge to establish the testing process from the scratch. Love to test the software product to deliver it with good quality. Strongly believes on “Testing goes beyond just executing the test protocol”. View all posts by Mekala Ramesh

BizTalk360 Support Team meets the Microsoft Escalation Team

BizTalk360 Support Team meets the Microsoft Escalation Team

Community events are an integral part of BizTalk360. TechMeet360 is an innovative technology event drive taken by BizTalk360 where all the technical admirers integrate and get endless possibilities to learn and explore different cutting edge technologies.

On April 21st 2017, a whole organizing team of Global Azure Bootcamp 2017 was gearing up for the event. All the preparation was going on in full swing. I found the wave of enthusiasm spreading on everybody’s face and doings. Administration panel was busy with final checklist preparation and gift packaging. Our Event coordinators (Arun/Sriram/Kuppurasu) were busy with accommodation arrangements for the speakers. For the first time, Microsoft speakers (Deepak Rajendran, Harikharan Krishnaraju, Vinod Sundarraj, Amit Kumar Tripathi, Madhura Bharadwaj, Karan Singh) presented at a Coimbatore event. We wanted to improve our work culture and take inspiration from Microsoft, so we invited the speakers to the BizTalk360 office for a round of technical discussion. Originally planned for 1-hour session, went close to 2.5 hours. The entire engineering team was ready with a bunch of questions to be discussed with the team during the meeting which had been arranged.

With full of excitement, it was 6.30 pm in the evening and the team here at BizTalk360 was waiting for the arrival of the speakers from Microsoft product support group, excited to welcome the team in our office. After all the welcome formalities, as planned the discussion panel had been set up and the whole BizTalk360 engineering team – Microsoft meet up began with a warm introduction.

Lucky people get opportunities (we are lucky enough to get the opportunity to work at BizTalk360 since we are community focussed and not just work focussed), brave people create opportunities (here we have awesome techies to create the opportunities), and the Winners are those who convert problems into opportunities (here we all are having a record of success to convert problems into opportunities, to solve one common problem). Precisely this is what our two flagship products are built with. To solve the problems in the integration platform, we have converted the problem into a solution.

Here at BizTalk360, all the above-said things are happening in the right proportion. Opportunities will knock just once. It is up to you to make yourself grow to the next level. Every day is a new start here to grab new ways of learning technology and shape yourself personally and professionally.

The discussion arranged with Microsoft product support team was a great opportunity for us to gather their experiences and make most out of it. Discussion started with how the support process guidelines the Microsoft escalation team. Regardless of the issue, how the given problem statement to be approached and how to build a good relationship with the customer is a most essential factor of our discussion. Be it a production issue or a staging, essentially we should understand the frustration level of the customer and go ahead with isolating the problem and navigate to the root-cause. On any fine day, an issue will get resolved, but the bond between the customer and the support engineers should last long. Treat the issue of the customer from your own shoes, this makes the customer gain lot of confidence in us and our product.

Our Understandings

As the support process, has been filtered at various levels according to the expertise, the first and foremost thing is to scope the issue:

Scoping:

Before you begin troubleshooting any problem, scoping is very important. You must distinguish what is working and what is not working. From the big picture to a small pixel as a Top-Down approach.

Isolation (narrow down to the exact root cause):

Once the problem is scoped, you need to identify where the root cause lies. A checklist would be helpful after the problem is scoped. By asking more information concerning the problem will be useful to confine it from real assumption.

A simple command prompt ping can save you from the issue. Usage of multiple troubleshooting/diagnosing tools should be used to narrow down the issue. Rather than using the external tools, we can always make use of the internal tools like command prompt, event logs and IIS trace which spares your investigating time. Additionally, open-source external tools like: Fiddler, Postman, Net-Stat, Wireshark and so on will comprehensively understand the issue.

How often can web meetings be scheduled with the customer?

Good relationship starts with a verbal conversation. It is always better to immediately get on a call with the customer to understand the problem instead of going through multiple email iterations.

Conclusion

The team wrapped up after the informative and interactive session.

By the end of the discussion, we were able to get the crux of Customer handling, troubleshooting tips, Technical Knowledge, Escalation Engineering and lot of friendship.

In the process of growth of our support process, we are further adapting/implementing the suggestions from the MS Escalation team to get acquainted with our customer expectations.

Author: Mekala Ramesh

Test Lead at BizTalk360 – Software Testing Engineer having diverse exposure in various features and application testing with a comprehensive understanding of all aspects of SDLC. Strong knowledge to establish the testing process from the scratch. Love to test the software product to deliver it with good quality. Strongly believes on “Testing goes beyond just executing the test protocol”. View all posts by Mekala Ramesh

Resolved issue: Sending message from Windows Azure BizTalk Services Bridge to another Bridge

Next week I will be doing a talk  on Windows Azure BizTalk Services  with regards on how one can add BAM functionality. During this talk a demo will be the ‘Pièce de résistance’. this demo is based on an article I have written earlier and which can be found on TechNet.  Well to cut to the chase… I would not be who I am if I would have not taken this article to the next level and while doing so I encountered a nice challenge.

In my demo there is a scenario in which I have a custom MessageInspector which can be configured as such that it can deliver messages to either a Servicebus Queue/Topic/Relay or BizTalk Service Bridge endpoint. While testing the various scenario’s I encountered a particular issue when I tried to send a message to another bridge. The error message which was ‘reported back stated’

Component xpathExtractor. Pipeline Runtime Error Microsoft.ApplicationServer.Integration.Pipeline.PipelineException: An error occurred while parsing EntityName. Line 5, position 99.
at Microsoft.ApplicationServer.Integration.Pipeline.Activities.XmlActivitiesExceptionHelper.Throw(String message, XmlActivityErrorCode errorCode, String activityName, String stageName, IEnumerable`1 messageProperties)

The above mentioned error was caused by the error-message which was sent back and caused a failure which I could not easily debug any further without a complete rewrite. While I had no time for this I decided to use a different approach in sending the messages. Up to that point I used the WebClient class in combination with the UploadDataAsync Method but I decided to give the OpenWrite method a go. This decision proved to be very useful as my existing exception-handling was not able ‘kick in’ without causing the parent TASK to go in to a faulted state.  Thus by using the OpenWrite method I was able to extract he ‘real’ exception. This exception message stated:

“The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.”  “The remote certificate is invalid according to the validation procedure.”

At that point I reached the Eureka moment and it all started to make sense. It all boils down to the fact that for development/test purposes we all use a self-signed certificate (created for us when we provisioned out Windows Azure BizTalk Service). This certificate is installed on our client machines, thus allowing us to make requests to the Windows Azure BizTalk Service. This explained why my test-console application did not throw any exceptions when calling the Windows Azure BizTalk Service Bridge in question. However when this code is invoked from within the message inspector which is hosted in Windows Azure.’ it runs into the fact that ‘there is a problem with the security certificate’, this makes sense as it is a self-signed certificate.

So now that I figured out the why, I needed a way to tell my code to ignore these kind of warning when encountered. Well luckily for is, this little gem is available and can be found in the System.Net.ServicePointManager class. This gem is called ServerCertificateValidationCallBack. This CallBack will return false in case the Server Certificate is not complying with the policies (in our case, it is by default not trusted as it is self-signed), so all we need to do is ensure that it always returns true and thus ignoring the security check

 please do not do this in production environments! You otherwise might be ending up sending data to a not trusted source (i.e spoofed server etc.)

Below I added the piece of code which implements the ssl validation-check bypass:

using (var client = new WebClient())
{
 
    Uri EndPointAddress = new Uri(this.Endpoint);
 
             
    //Add WRAP ACCESS TOKEN
    client.Headers[HttpRequestHeader.Authorization] = String.Format("WRAP access_token="{0}"", this.AcsToken);
 
    //Add Content Type
    client.Headers["Content-Type"] = "application/xml";
 
    //Publish  
    try
    {
 
        //The 'GEM' Ignore validation callback which cause an error
        ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
 
        using (var stream = client.OpenWrite(EndPointAddress, "POST"))
        {
            byte[] data = System.Text.Encoding.UTF8.GetBytes(messagePayload);
            stream.Write(data, 0, data.Length);
        }
        
    }
    catch (System.Net.WebException wex)
    {
        AppendExceptionsToLog(wex);
    }
    catch (ArgumentNullException anex)
    {
        AppendExceptionsToLog(anex);
    }
    catch (Exception ex)
    {
        AppendExceptionsToLog(ex);
    }
}

             
Cheers and hope to see you soon! Especially if you are going to attend the BizTalk Summit 2014  in London this March, don’t hesitate to say Hi 🙂