来自英文社区的问题:WS服务的访问权限
大家好,
我正在创建WS做服务器用,但是当我要求WSDL时,提示错误因为找不到类。
我添加了以下说明:
set ^SYS("Security","CSP","AllowClass","MiProyecto.MiClaseWS","%SOAP.WebServiceInfo")=1
set ^SYS("Security","CSP","AllowClass","MiProyecto.MiClaseWS","%SOAP.WebServiceInvoke")=1
我已经在WS安全配置中创建了一个入口
在“应用程序角色”选项卡中,我配置了%All权限
(图像中的命名空间“Samples”是出于安全原因)
如果我以以下方式调用服务,则http:// localhost:57772 / myproject / ws / MyProject.MiClassWS.cls? WSDL提示以下错误:
Not Found The requested URL /miproyecto/ws/MiProyecto.MiClaseWS.cls was not found on this server.
但是,另一方面,如果我执行以下命令,它可以正常工作: https:// localhost:57772 / csp / sample / MiProyecto.MiClaseWS.cls?wsdl 。
csp / sample具有NAMESPACE的默认配置,因此它要求授权(用户名和密码),但是我们不会公开发布这个路径,
可能缺少什么导致找不到类?如何将WS公开部署?
谢谢您的回答
查看原帖 由 @Oscar Muñoz 撰写
请注意在下面命令中的第四个参数需要以/开始,以及以/结束
set ^SYS("Security","CSP","AllowClass","/miproyecto/ws/","%SOAP.WebServiceInfo")=1
set ^SYS("Security","CSP","AllowClass","/miproyecto/ws/","%SOAP.WebServiceInvoke")=1
可参考文档:https://docs.intersystems.com/healthconnectlatest/csp/docbook/DocBook.UI...