While wrapping up my demos for my presentation “Moving WF applications to Azure”, I decided to repackage my demos using Windows Azure Accelerator to conserve the number of Web Roles I was using in Azure.
A quick summary of the issue is as follows:
- Create a Windows Azure Accelerator project, and upload it to Azure (Steps performed according to instructions provided by WAA)
- From the base address (i.e. <application>.cloudapp.net), create a IIS Site name. I just typed a random, non-active hostname for the Hostname, as I was intending to use the test link instead.
- Create a Windows WF 4.0 project, and browse to it. The generated screen with a link to the WSDL is displayed.
- Publish the WF Application to the IIS web site. It doesn’t matter if the deployment is marked as an IIS application.
- Browse to the test site where a page showing that metadata publishing is disabled. (i.e the /test/testwf/ location, rather than from the host name)
- No amount of web.config changes will enable the metadata publishing, such as an example below.
Logging onto the Azure Web Role instance revealed the following IIS setup.
I’m guessing that the test sites use URL Rewrite, but somehow the web.config is not picked up.
What finally worked for me is as follows:
- Get a DNS Alias (CNAME) to point to my base cloud application, e.g. using a free domain name from no-ip.com.
- Reconfigure WAA to accept the new Host Name
- Browse to the WF Service using the Site address instead of the test site address, and voila, the no configuration setup now works.
I hope this helps someone save a couple of hours of sleep. Now onto figuring out Azure Composite Applications.