Question
Oscar Muñoz · Apr 15, 2021

Access permissions to WS service

Hello everybody,

I am creating a WS as a server, but when I ask for the WSDL it is giving me an error because it cannot find the class.

I have added the following instructions:

set ^SYS("Security","CSP","AllowClass","MiProyecto.MiClaseWS","%SOAP.WebServiceInfo")=1 
set ^SYS("Security","CSP","AllowClass","MiProyecto.MiClaseWS","%SOAP.WebServiceInvoke")=1

I have created an entry in the WS security configuration

In the Application Roles tab I have put the %All permissions

(The Namespaces "Samples" in the image is due to security reasons)

If I invoke the service in the following way, http://localhost: 57772/myproject/ws/MyProject.MiClassWS.cls? Wsdl gives me the following error:

Not Found
The requested URL /miproyecto/ws/MiProyecto.MiClaseWS.cls was not found on this server.

But, on the other hand, it works correctly if I ask for: https://localhost:57772/csp/sample/MiProyecto.MiClaseWS.cls?wsdl .

The csp/sample has the default configuration of NAMESPACE, so it asks for authorization (username and password), but we are not going to publish this route publicly,

What may be missing so it can´t find the class? How can the WS be deployed to the public?

Thank you very much in advance,

greetings.

Product version: HealthShare 2017.2
$ZV: Cache for Windows (x86-64) 2017.2.1 (Build 801_3U) Thu Apr 12 2018 10:02:23 EDT
00
2 0 6 108
Log in or sign up to continue

Replies

Hello Nicky,

Thank you very much for your response. I made the changes described in the document but results keeps the same. 

I also tryed to test the web service method from the terminal and got an "expected entity name for reference while processing Anonymous Stream" error. 
According to the Troubleshooting Caché SOAP Problems document: "The WSDL is password protected" so I guess is still restricted.
 

Hi, how about tick the application option?

Hello Nicky,

Thank you very much for your response. I had this option disabled, so as you suggested I ticked it and restarted the service (just int case), but still cant access the ws.

Maybe you can go into Application Roles tab and add %ALL role.

After that try again from private window or another browser.

Unknown User must also be enabled.

This is only for dev/testing.

Hello Eduard,

Thank you very much for your reply. Yes I had the %All permissions role. I also set the startup namespace for the UnknownUser but nothing changes.