Tuesday, September 11, 2007

As I was putting together the demonstration for the talk I'm giving tomorrow on BizTalk Server R2 and the WCF Adapters I had to do a few things to get some basic examples working, as this was a brand new virtual environment.  I thought I'd document some of the actions I had to take.

1. Registering the "WCF-BasicHttp" adapter.

After creating and deploying an orchestration for use with the "WCF-BasicHttp" adapter, I received the following error:

The Messaging Engine failed to register the adapter for "WCF-BasicHttp" for the receive location "/SampleWCFDemo/SampleWCFDemo_Process_ProcessPort.svc". Please verify that the receive location exists, and that the isolated adapter runs under an account that has access to the BizTalk databases.

I had to take two steps to resolve the problem.  First, create a new application pool and set the identity to the service account used by the isolated host instance.  Second, give the service account used by the isolated host instance read/write access to the C:\Windows\Temp\ directory.

2. Can't find the "SvcUtil.exe" console application.

Turns out that I had forgotten to install the Windows SDK and .NET Framework 3.0 Runtime Components.  See my previous post on how to setup a BizTalk Server 2006 R2 development environment for more information.

3. "SvcUtil.exe" failed when generating the service metadata.

When I ran the command "C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin\SvcUtil.exe"
http://localhost/SampleWCFDemo/SampleWCFDemo_Process_ProcessPort.svc?wsdl I ended up getting the following error:

Error: Cannot obtain Metadata from http://localhost/SampleWCFDemo/SampleWCFDemo_Process_ProcessPort.svc?wsdl

If this is a Windows (R) Communication Foundation service to which you have access, please check that you have enabled metadata publishing at the specified address.  For help enabling metadata publishing, please refer to the MSDN documentation at http://go.microsoft.com/fwlink/?LinkId=65455.

WS-Metadata Exchange Error
    URI: http://localhost/SampleWCFDemo/SampleWCFDemo_Process_ProcessPort.svc?wsdl
    Metadata contains a reference that cannot be resolved: 'http://localhost/SampleWCFDemo/SampleWCFDemo_Process_ProcessPort.svc?wsdl'.
    Content Type application/soap+xml; charset=utf-8 was not supported by service http://localhost/SampleWCFDemo/SampleWCFDemo_Process_ProcessPort.svc?wsdl .  The client and service bindings may be mismatched.
    The remote server returned an error: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'text/xml; charset=utf-8'..

HTTP GET Error
    URI: http://localhost/SampleWCFDemo/SampleWCFDemo_Process_ProcessPort.svc?wsdl

Additionally, when I loaded the WSDL in Internet Explorer, I got the message:

Metadata publishing for this service is currently disabled.

Turns out that I had to change the service behavior to allow the metadata to be published.  You can do this by modifying the Web.Config file of the service so that "httpHelpPageEnabled" is set to true:

<behavior name="ServiceBehaviorConfiguration">
    <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />
</behavior>

Changing the value from "false" to "true" resolves the problem.

...

Those were the three issues that came up tonight.  I'm sure there will be more, and I'll post the resolutions when I can.

I hope this helps!

Posted on 09/11/2007 # Comments [2] Trackback
 Monday, September 10, 2007

In preparation for the talk I am giving tomorrow on BizTalk Server R2 and the WCF Adapters, I thought I would post some notes on how to setup and configure a BizTalk Server 2006 R2 development environment.

The installation is really quite straightforward.  Start with a relatively clean machine (I suggest you use a virtual machine, as these are all beta bits).  My (virtual) machine had the following installed before I started the R2 installation:

  • Windows Server 2003 R2 Standard Edition with Service Pack 2
  • IIS 6.0
  • Microsoft .NET 1.0, 1.1, 2.0, 3.0
  • Microsoft Visual Studio 2005 Team Developer Edition with Service Pack SP1
  • SQL Server 2005 with Service Pack SP2

Additionally, you need to install the Windows SDK and .NET Framework 3.0 Runtime Components.  This gives you the documentation, samples, header files, libraries, and tools you need to develop applications that run on Windows.  You can download this from: http://www.microsoft.com/downloads/details.aspx?FamilyId=C2B1E300-F358-4523-B479-F53D234CDCCF&displaylang=en.  Note: it takes awhile, so be patient.  Also, I removed the documentation and samples, which makes the download and installation a lot faster.

From here you just need to download the R2 bits.  To find out how you can obtain BizTalk Server 2006 R2 (beta 2), take a look at this article: http://support.microsoft.com/kb/936046.  Or, if you want me to save you the work and take you directly to the bits, you can go here: https://connect.microsoft.com/Downloads/DownloadDetails.aspx?SiteID=65&DownloadID=6014.

The BizTalk 2006 R2 Beta 2 release includes the following components:

  • BizTalk core engine
  • EDI
  • RFID
  • LOB Adapters
  • BizTalk Accelerators (HL7, SWIFT, RosettaNet)

The components are available by downloading and installing the following files:

  • BTS06R2_Beta2.exe
  • BTS06R2_Beta2_Accelerators.zip
  • BizTalk LOB Adapters Sp1 Beta2.exe
  • CustomSOAPHeaderPipeline.zip

Note: if you only want the R2 functionality (e.g. WCF, etc) you only need BTS06R2_Beta2.exe.

After I downloaded all the files, I first extracted the contents of BTS06R2_Beta2.exe to a temporary folder (choose a folder you can remember, like C:\Temp\BTS06R2_Beta2).  Next, I ran Setup.exe from that folder.  Click Next until you get to the Component Installation screen.  You'll see that there are a few differences from the standard BizTalk components.  Here's a peak:

 BizTalk Server 2006 R2 Installation Wizard

I decided to leave the default settings.  Feel free to do what you want.  Continue to click Next until you get to the Summary screen.  Review your selections and click Install (you may also want to set your auto-login credentials to save time).

After it installs you have to run the BizTalk Configuration Tool.  The configuration is roughly the same as it is for BizTalk Server 2006:

BizTalk Server 2006 R2 Configuration

I don't plan on using many of the features at the moment (e.g. BAM, HWS, etc.) so I only installed the following features:

BizTalk Server 2006 R2 Features

And that's it!  At this point, you will have BizTalk 2006 R2 (beta 2) installed and functioning.  Open up the BizTalk Server 2006 Administration Console and take a look at the adapters now available to you:

BizTalk Server 2006 R2 Adapters

Specifically, you now can use the following adapters:

  • WCF-BasicHttp
  • WCF-Custom
  • WCF-CustomIsolated
  • WCF-NetMsmq
  • WCF-NetNamedPipe
  • WCF-NetTcp
  • WCF-WSHttp

I hope this helps you explore the new functionality available to you in BizTalk Server 2006 R2.  Enjoy!

Posted on 09/10/2007 # Comments [0] Trackback

I know this notice is late, but I will be presenting a talk entitled "BizTalk Server 2006 R2 and the WCF Adapters" to the Denver BizTalk User Group tomorrow.  Here's the link to the event:

BizTalk User Group: BizTalk Server 2006 R2 and the WCF Adapters

The event will take place at the Denver Microsoft building at the following address:

Maroon Bells Room
7595 Technology Way
Suite 400 Denver Colorado 80237
United States

Here's the event abstract ...

BizTalk Server 2006 R2 provides new adapters that enable simple communication to and from BizTalk Server and Web services-based applications via the Windows Communication Foundation (WCF). Through the WCF Adapter SDK you can utilize these new extensions to write WCF-based transports to expose existing technologies and applications. We will discuss real world uses for the WCF adapters and provide a demonstration of these adapters in action.

I'll post my slide deck and some bits after the presentation.  I hope to see  you there!

Posted on 09/10/2007 # Comments [2] Trackback