WCF support through the different WCF Adapters provided in BizTalk R2 is a powerful new feature. With the announcement of Oslo, working with the WCF Adapters now is even more critical to a BizTalk Developer.
If you are like me, you do a majority of your BizTalk work on a Windows XP computer or laptop. This can cause some problems when working with the WCF Adapters.
Lets take a look at what needs to be done in order to work with WCF and BizTalk on Windows XP.
First, lets look at the core issue – lack of Application Pools in Windows XP.
Here is what you need to do first in order to work with the WCF Adapters (using IIS – probably the most common scenario for beginners).
– Add your ASPNET user to the Isolated Host Users group
– Make sure your Receive Location is enabled
– Make sure the address in your Receive Location is correct – looks like “/BizTalkWcfServer1234/Service1.svc”
– Restart IIS
Important Note: You can only run one type of WCF Adapter per Application Pool. So on XP, you can only run one type of WCF Adapter at a time. If you want to switch from WCF-BasicHttp to WCF-WSHttp you will need to restart IIS.
On Windows 2003 boxes, each Adapter you want to run through IIS will need a different Application Pool in order to have them co-exist.
Of course, you can always use the Customer Adapter and do anything you want inside that adapter. That adapter is not as user friendly and not really a good place to start for beginners.
Below is a list of common WCF Errors you might encounter when working with the WCF Adapter. In most cases, the error messages give you enough information to correct the problem.
WCF Adapter Common Errors (the error messages are very specific and tell you what to do to fix the problem):
The Messaging Engine failed to register the adapter for “WCF-WSHttp” for the receive location “/BizTalkWcfService1234/Service1.svc”. Please verify that the receive location exists, and that the isolated adapter runs under an account that has access to the BizTalk databases.
Potential Causes: Application pool user doesn’t have correct permissions, Typo in the Receive location name
The Messaging Engine failed to register an adapter “WCF-BasicHttp”. Details: “Registering multiple adapter types within the same process is not a supported configuration. For e.g. HTTP and SOAP receive adapters cannot co-exist in the same process”
Potential Causes: Already have a different adapter type loaded into IIS, Adapter binding types do not match
Receive location for address “/MyService.WCF/MyService.svc” not found. (The BizTalk receive location may be disabled.)
Potential Causes: Receive location disabled, Typo in Receive Location name