Copy link to clipboard
Copied
We are running ColdFusion 9 (version 9.0.1.274733) on Windows 2003 with IIS 6. The server is shared across a few different groups within our organization each with more than one active development project currently underway. 3 of the projects are attempting to consume a .Net webservice hosted on another server. The webservice is using basic authentication to identifiy who is accessing the service. Our problem is that when ColdFusion accesses the service the first time it caches the WSDL proxy/stubs along with the username and password. This presents a problem when the next application attempts to access the service. The second attempt can access the service but since ColdFusion is using the credentials ofthe first application the second application gets permission problems from the application behind the service. Example is application A hits the service with username A this is followed by application B with username B but IIS sees username A, application C does the same thing, IIS sees the access attempt with username A. If we clear the WSDL from the admin or use the refreshWSDL attribute it works one time, with subsequent access attempts using the first set of credentials. Forcing each application to always use the refreshWSDL attribute kind of defeats the purpose of caching.
So my question is this:
Is there any way to get ColdFusion to NOT cache the username/password information when it creates the stubs?
Copy link to clipboard
Copied
Have you tried creating multiple named instances of the webservice via the cf administrator? I haven't tried it but it looks like you should be able to assign a different username/password to each instance. Then in your code just instantiate it by the name rather than the wsdl url, eg.
<cfset svc = createobject("webservice", "mywebsvc_appA") />