Adventure 4: What to send across the boundary.
When you instantiate a DotNet object in CF its always a good idea to dump it to see how the proxy changed any method names. Well the vendors wsdl I am working with has about 60 classes, enums and interfaces. Not very abstracted. In several cases a property would be one of two different depending on the results of the web service call. And they did not inherit any base class. I had to inspect the type and then cast the property to use it. Ouch. So instead of passing back nested business objects, enums and other dotnet fun stuff I decided to make a poco with all the information I needed. Boiling down about 7 to 10 objects and enums into one object with about 25 properties including some for exception messages.
Adventure 5: Who is the web.config for? Not ColdFusion.
In Visual Studio I had setup Fiddler as a proxy with https termination so I can see my soap call that are SSL. I had done this in the web.config. Well once I started calling the assembly (dll) from CF Fiddler stopped seeing the calls. Hmm. Come to find out the web.config is for IIS. Solution: the web service objects expose a proxy property you can set at run time by creating a WebProxy object. Warning: if the proxy is not available, fiddler running, it will not work. So this is just for debug.