Web Reference Access Error

Web Reference Access Error

  
Hello,

We are trying to create a web reference in Service Studio 4.0 to a web service that requires integrated authentication. Unfortunately, Service Studio isn't passing any credentials through to the server so access is denied. You can't check the Integrated Authentication box until you create the web reference but you can't create the web reference without authentication.

Is there any way to get Service Studio to pass through your credentials when creating a web reference?
Thanks,
Robert
Hi Robert,


To import NTLM authenticated web services into Service Studio, you must do it using Service Studio in a machine where the user logged into Windows has permissions to access the web service.

An alternative path is to get the web service WSDL manually, place it in a non authenticated IIS, and import the Web Reference from there. Afterward you also need to set the Web Reference Integrated Authentication property to Yes in Service Studio, and change the web reference Effective URL in Service Center to point to the effective url of the real web service.


Hope this helps,

Rodrigo Castelo
Hi Robert,


After some further tests, I concluded you cannot invoke web services using NTLM from server to server. My instructions would only work in client to server scenarios. This is so because delegation is not supported in this server to server scenario using NTLM. You can check for more information on this topic in the MSDN site.

However, to circumvent this, and bypass integrated authentication, you can set the eSpace Run-As property in Service Center and type in a username/password that has permissions to access the target web service. Following the same reasoning, you can also use the EnhancedWebReferences component available in the TechCenter, and use its SetWebReferenceCredencials Action to make a Web Reference use the credentials of a user with permissions to access the target web service.


Sorry for the misleading information,

Rodrigo Castelo
Thanks. It works now though I have no idea why. I think it may have been some issue with the server we were connecting to. But we have a new problem with it.

When Hub Server tries to compile the eSpace it tries to check that the web service is up to date and is denied. What credentials does Hub Server use when doing this? Is it possible to configure Hub Server to use someone else's (i.e. mine) credentials when checking web references? This is OutSystems Platform 4.0.
Thanks,
Robert
Hi Robert,


The OutSystems Compiler (that checks the web service signature and issues the warning you referred to) is launched by the OutSystems Deployment Controller service (a Windows Service installed at the server). As such, it uses the Account configured to run that service (Local System Account).

You can change the Account used to run the Deployment Controller service in the service properties (in Control Panel -> Administrative Tools -> Services -> OutSystems Deployment Controller).

However, note that the warning you are having is not problematic if you don't expect the web service to change frequently. You might as well ignore the warning.


Hope this helps,

Rodrigo Castelo
I changed the account the service ran under through the Services window and that fixed the access error. Thanks.