How to Check/Get the list of all BizTalk Cumulative Updates installed in the machine with PowerShell

How to Check/Get the list of all BizTalk Cumulative Updates installed in the machine with PowerShell

We cannot rely on documentation, if they exist, to be accurate, special regarding to the status of the machines present in the environment – I never found this kind of document that tell me what is installed on the machine, what are the updates (or CU) or service pack installed and so on and regarding […]
Blog Post by: Sandro Pereira

How to fix or configure the Signing Properties of a Visual Studio BizTalk Project with PowerShell version 2

How to fix or configure the Signing Properties of a Visual Studio BizTalk Project with PowerShell version 2

In the previous post I provide a fix to the PowerShell script to that is able to configure the Deployment Properties of a BizTalk project, keeping my word, at least half of it, because I also found the same problems in the PowerShell script to fix or configure the Signing Properties of a BizTalk Project, […]
Blog Post by: Sandro Pereira

How to fix or configure the Deployment Properties of a Visual Studio BizTalk Project with PowerShell version 2

How to fix or configure the Deployment Properties of a Visual Studio BizTalk Project with PowerShell version 2

It is nothing new that before you can deploy a solution from Visual Studio into a BizTalk application, you must first set project properties, especially the Server and the Configuration Database. Otherwise two things may happen: Deployment will fail when you try do to deploy it through Microsoft Visual Studio or will you are redeploying […]
Blog Post by: Sandro Pereira

New Online API Mapping Tool

New Online API Mapping Tool

One of the many challenges with an integration project is typically the mapping of messages from one API to another. The difficulty most often lies not with the technical implementation (although some former projects mapping SAP iDocs to EDI X12 are still giving me nightmares), but rather with forming the specification of the mapping itself, including understanding the semantical meaning behind each element. This is difficult because it requires expert knowledge of both the source and target system, as well as an analysts who can correct “draw the connecting line” between the two. The correct end result is only achieved through significant collaboration amongst the relevant parties.

The BizTalk Mapper goes a long way to facilitating this task with it’s graphical mapping interface. Aside from providing the developer a means of rapidly implementing a transformation, it also servers as a visual representation of the mapping that can be understood by a business analyst (if not too complex):

biztalkmap

(image courtesy of MSDN)

There are two problems with this approach, however:

  1. It requires BizTalk Server, which is not only expensive, but also may be overkill for a solution that can easily be implemented in WCF, REST, or another platform;
  2. The mapping must be implemented by a developer before it can be shown to analysts and business users for discussion and validation. This usually entails a number of iterative cycles until the mapping is correct.

Enter api-map.com – a new free online tool created by my colleague Joseph Cooney specifically to address these particular challenges. api-map provides a medium to formulate, display and share mapping documentation which can eventually be handed over to a developer for implementation on any chosen platform.

As a first step, the tool allows you to upload schemas (either JSON or XML) with the ability to display, edit and annotate them:

image

These schemas can then be used to define mappings, even providing automatic  hints along the way using very clever heuristics. You can specify direct mappings or indicate that a transformation is required – including a description of the necessary condition and/or logic that defines the transformation. You can also map multiple source elements to a single target, and specify constant values to be assigned where appropriate.

Once this is completed, you can then display the mapping in a clear visual diagram that is easily understood by any analyst. Even better, you can combine multiple diagrams into one composite “end-to-end” view – providing a traceability which you cannot achieve within BizTalk maps. This is incredibly useful in the situation where canonical business schemas are employed within an ESB (a common scenario for most of my projects). And by selecting any element involved in a mapping, you get an independent end-to-end view of all elements involved in a mapping:

SNAGHTML8a9568c

Finally, when everything has been sorted, you can export the mapping to a handy Excel spreadsheet, serving as documentation within a source repository for developers to work from:

image

A few other nifty features include the ability to tag items to make them searchable, join teams in order to share project artefacts, and an option to attach images of a user interface to clarify the association of an element with a system control.

Watch Joseph’s video to see a live demonstration of the tool. Still in beta, Joseph is continually adding new features, but already I believe this will be a handy utility on many of my upcoming projects!

QuickLearn Re-Launches Azure Logic Apps Class

QuickLearn Is Excited to Announce the Availability of the Improved Logic Apps Course

July 25th was a big week for Microsoft’s Azure Logic Apps with the announcement that Logic Apps Reaches General Availability, and it was a big week for QuickLearn as well. We have been working for months on honing our expertise with Logic Apps so that we would be ready to deliver the new and improved Cloud-Based Integration Using Azure App Services course in conjunction with Microsoft’s release. This course has been expanded from the original three-day version to a five-day version that includes a full one-day workshop where attendees build a complete integration solution using Logic Apps, Azure Service Bus, and various API App connectors.

Nick Hauenstein and Rob Callaway worked tirelessly over the last few weeks putting the finishing touches on what I have to say is a killer course. The rest of the team provided support in testing and editing but those two did the heavy lifting in truly getting up to speed. Nick did a Herculean job delivering the course to a truly international audience with attendees in London, Sydney and of course our office in Kirkland.

I had the opportunity to attend the class as a student. I have been following the development of Azure App Services as I’m sure many of you have, and felt I had a pretty good handle on how they all work, but I have to admit I came away with a much better idea of how all the parts can work together. Nick has a way of building great scenarios and explaining how the available parts can be used to build a complete integration.

For those of you keeping track, the timing meant that Nick had to shift gears mid-week as Microsoft pushed the GA bits into production. It was interesting to see things work one way in one demo and literally an hour later work a different way!

We also had a real treat when Jeff Hollan, Program Manager for Azure Logic Apps dropped by and spent about an hour talking about Logic Apps and answering questions for the students. Its great being so close to the Microsoft campus, we always appreciate visits from our friends there.

What Does the Future of Integration Look Like?

I wish I had a nickel for every time a student has asked that question in class. It has been puzzling since the story coming out of Redmond has been evolving over the last few years. Fortunately, the story is a good one.

Everyone needs integration. For years if you wanted to build a robust integration solution using .NET, you really only had two options. Start from scratch and build the whole thing yourself, a very time consuming process, or buy BizTalk Server. Although BizTalk is an awesome and powerful product, the learning curve is rather steep and the cost of ownership often high. What was needed was integration for the little guys.

Azure App Service is (becoming) the solution to this problem. Azure App Service is a fully managed platform for web, mobile, and integration scenarios. Our course focuses on connecting your on-premises resources to cloud services such as Service Bus and on building complexity into your solutions via Logic Apps. Although it isn’t a replacement for BizTalk, it shares many of the capabilities and features that BizTalk developers would be familiar with.

Does that mean you don’t need BizTalk anymore? Not at all! BizTalk still provides a very powerful processing engine whether you choose to run it in Azure or on your own hardware. Azure App Services simply provide an option to do some of the things BizTalk is capable of. It is probably best suited for .NET developers who aren’t familiar with BizTalk Server but are looking to integrate with Azure resources.

From time to time I have been asked about how Microsoft Flow fits into all of this. Flow uses the same connectors and services that are built into App Services, it just doesn’t have the ability for developers to extend it using Logic Apps and API Apps. With Flow you are moving into a home that is all furnished for you. With Azure App Services you have the house and a toolbox and a pile of wood to finish it off just the way you want it.

Is This the Right Course for You?

If you happen to be new to integration and are looking for a good place to start, this course is it. On the other hand, if you are an experienced BizTalk developer and you are interested in exploring the future, this is also the course for you. The amount of crossover between the two products is surprisingly small as far as the tools that you use, although of course the concepts will seem very familiar to you.

There are still seats available for the September 19th delivery being presented by Rob Callaway at out Kirkland location (also available for remote attendance). If you are in Europe, you have two opportunities coming up. I will be delivering the class in Oslo Norway with our partner Bouvet on October 24th or you can celebrate Halloween with an American (October 31st) with our partner InfoSupport in Utrecht, Netherlands.

Expose Orchestration as WCF Service – Errors – Resolutions

Expose Orchestration as WCF Service – Errors – Resolutions

Expose Orchestration as WCF Service – Errors – Resolutions

Error 1 :

Receive location for address “/ExposeOrchWCFService/ExposeOrchWCFService_ProcessPO_prtRcvPO.svc” not found. (The BizTalk receive location may be disabled.)

Resolution:

WCF Service Publishing Wizard will create a new Receive location in the application you have specified in the wizard. That receive location need to be enabled.

Error 2:

Cannot open database “BizTalkMgmtDb” requested by the login. The login failed.
Login failed for user ‘NT AUTHORITYNETWORK SERVICE’.

Resolution:

This happens when you create Orchestration and expose as WCF Service. The WCF Publishing Wizard will create Website in IIS. If newly created application is running under ASP.Net 4.0 Application pool, you will see this error while browsing the .svc file.  All you need to do is to change the Application Pool to WCFHttpAppPool

Error 3:

The requested service, ‘http://localhost/ExposeOrchWCFService/ExposeOrchWCFService_ProcessPO_prtRcvPO.svc’ could not be activated. See the server’s diagnostic trace logs for more information.

Resolution:

Check whether BizTalk Orchestration and application is started.

Advertisements

The Messaging engine failed to process a message submitted by adapter:WCF-BasicHttp

The Messaging engine failed to process a message submitted by adapter:WCF-BasicHttp

Error Message:

The server was unable to process the request due to an internal error. For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on
the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect the server trace logs.

The Messaging engine failed to process a message submitted by adapter:WCF-BasicHttp Source
URL:/ExposeOrchWCFService/ExposeOrchWCFService_ProcessPO_prtRcvPO.svc. Details:The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure.

Resolution:

Receive Port ID for the tight coupled orchestration with the Receive port is different that the one which was created by WCF Service publising wizard. You need to change Receive Port configuration to Direct.

https://social.msdn.microsoft.com/Forums/en-US/97de9430-89c3-4512-a016-1ee30d92fd20/published-message-could-not-be-routed?forum=biztalkgeneral

https://social.msdn.microsoft.com/Forums/en-US/e1441f35-ef5d-49dc-8173-43b34e2bacac/biztalk-server-errorthe-messaging-
engine-failed-to-process-a-message-submitted-by?forum=biztalkgeneral

Advertisements

Exposing Orchestration as WCF Service – Notes

Exposing Orchestration as WCF Service – Notes

Exposing Orchestration as WCF Service – Notes

Exposing Orchestration as WCF Service – Notes

Orchestration with Receive and Send as two different Port (One-Way):

If you create an orchestration with independent Receive and Send Ports, then WCF Service Wizard will create void as return type for the client Service Reference.

You need to use WCFHttpPool to host the Orchestration in IIS.

WCF publishing wizard will create a new WCF-BasicHttp receive location. It will be a one-way receive location. This port will be running under BizTalk Isolated Host Instances.

WCF Publishing wizard will create a large text as the service reference name like
<Name Given As Service Reference Namespace>.<OrchProjectName_OrchestrationName_ReceivePort Name>.

By default, WCF Publishing Wizard creates BasicHttpBinding_ITwoWayAsynVoid as interface type name for WCF Service.

You need make sure the Receive Port is configured as Direct Binding.

Code for Calling WCF from Console Application:

RcvProcessPO.ExposeOrchWCFService_ProcessPO_prtRcvPOClient client = new
RcvProcessPO.ExposeOrchWCFService_ProcessPO_prtRcvPOClient(“BasicHttpBinding_ITwoWayAsyncVoid”);
RcvProcessPO.PurchaseOrder po = new RcvProcessPO.PurchaseOrder();
po.PONum = “7002”;
po.PODate = “09/09/2015”;
po.POAmount = “1200”;
po.POQty = “120”;
client.RcvProcessPO(po);

Two way – Request Response port in Orchestration:

Make sure Request Response port is configured in Orchestration, and it should be bind directly to the Message Box.

Check WCFHttpPool application pool identity user has permission to biztalk databases.

Verify value passed to the client function is of reference type and you need to pass it as ref.

It will be difficult to stop port/location to examine the context or messages in BizTalk. Since it is Request Respond Receive Location, you cannot stop it. Even if you stop, WCF service will not be invoked at it says “Receive location is disabled”

Code for calling Request Response WCF from Console Application:

CalculatePOAmount.ExposeOrchReqResp_CalculatePOAmount_prtCalculatePOAmountClient client = new
CalculatePOAmount.ExposeOrchReqResp_CalculatePOAmount_prtCalculatePOAmountClient(“BasicHttpBinding_ITwoWayAsync”);

CalculatePOAmount.CalculatePOAmountRequest req = new CalculatePOAmount.CalculatePOAmountRequest();

CalculatePOAmount.PurchaseOrder po = new CalculatePOAmount.PurchaseOrder();

po.PONum = “4567”;
po.PODate = “09/09/2015”;
po.POQty = “12”;
po.POUnitPrice = “100”;

CalculatePOAmount.CalculatePOAmountResponse resp = new CalculatePOAmountResponse();
resp.PurchaseOrder = po;
client.CalculatePOAmount(ref po);
resp.PurchaseOrder = po;

Console.WriteLine(” The calculated PO Amount = {0}”, resp.PurchaseOrder.POAmount.ToString());

Console.ReadLine();

Advertisements

Expose Orchestration as WCF Service – Errors – Resolutions

Expose Orchestration as WCF Service – Errors – Resolutions

Error 1 : Receive location for address “/ExposeOrchWCFService/ExposeOrchWCFService_ProcessPO_prtRcvPO.svc” not found. (The BizTalk receive location may be disabled.) Resolution: WCF Service Publishing Wizard will create a new Receive location in the application you have specified in the wizard. That receive location need to be enabled. Error 2: Cannot open database “BizTalkMgmtDb” requested by the login. The […]
Blog Post by: vijaymstech