Thursday, October 28, 2010

Failed To Load SharePoint Designer Workflow

A client ask me to help troubleshoot one of their workflows.  The problem was an inconsistent issue; sometimes it worked, and sometimes it did not.  So I jumped on to my SPD 2007 to take a look at their workflow.  I could not see anything obvious in the workflow, logs and error reports.  It was getting late, so I called it a night.  The next morning I logged back into my SPD 2007 to see if I missed something on the workflow when I received the following error.

It worked last night, what has changed?  Well the client had recently set up a second web front end (WFE), and a network load balance (NLB) piece of hardware.  I had read through a couple of posts...
  1. http://social.msdn.microsoft.com/Forums/en-US/sharepointworkflow/thread/9874845b-9bf0-4723-9142-7384bbbcb1a6
  2. http://blog.qumsieh.ca/2010/01/16/failed-to-load-workflow-error-in-sharepoint-designer/
And while reading the second post, it hit me to check the web.config on the WFEs to make sure that they are identical. It turned out that I was missing an authorizedType Assembly in one of the web.config files.  After adding the line back in, all was happy again.

Thursday, October 7, 2010

IIS7 and Multiple IP Addresses That Won't Bind

Recently one of my clients asked to put a Tomcat Server on the same box as their SharePoint 2007 WFE. 

1) Add the IP address (Local Area Connections --> Properties --> Advanced --> IP Address Add...)










2) Stop IIS  (cmd --> iisreset -stop)
3) Set binding information in Tomcat
4) Set binding information in IIS
          (IIS Manager --> Right Click Site --> Edit Bindings --> Edit Port Binding --> Select IP from drop down) 




5) By default, IIS7 binds to ALL port 80 IPs, so we have to disable this behavior for the IP in IIS 
      (cmd --> netsh http add iplisten ipaddress=xxx.xxx.xxx.xxx)


6) Restart IIS (cmd -->  iisreset)



Warning!!!
If you have created Custom Web Services, running the Net Shell command will bind your Custom Web Services to the IP address and cause them to stop working.  This will give you an error of:  Not Able To Connect To Remote Server.