Cache数据库webservice去57772

这么些年自己开发一直没配好不带57772访问webservice的环境。项目上都是让找DBA解决。今天深入研究一下csp的webservice在iis的发布,即服务去57772.

我们平常安装的Cache数据库一般选开发版,开发版没安装CSPGateway,安装了的话在C:\inetpub\有CSPGateway文件夹

没安装的话可以运行安装包点修改,然后把“Web服务器网关选上”补充安装即可
在这里插入图片描述

这里我试过直接从其他服务器拷贝这个目录放C盘这里然后配置CSPms模块是不行的。因为还要依赖他安装的csp站点配置模块。

安装之后iis默认网站下会有cache和csp两个站点
在这里插入图片描述

然后根据文档访问127的csp配置页面
http://localhost:52773/csp/bin/systems/module.cxw
在这里插入图片描述
输入数据库用户名密码如:_system SYS
在这里插入图片描述

然后配置发布csp服务
在这里插入图片描述

这时候57772端口的webservice能访问
在这里插入图片描述

去掉57772的端口不能访问
在这里插入图片描述

iis能访问Cache发布的webservice下面几个点必须注意
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这样去掉57772可以访问
在这里插入图片描述
模块配置:CSPms C:\inetpub\CSPGateway\CSPms.dll
模块映射: *.cls CSPms CSPGatway_cls 请求限制去掉映射tab的复选框勾

以上就是试了好久把本机非57772访问webservice不行问题解决方式。

总结要点:
1.安装时候要安装“Web服务器网关”,没安装可以再运行安装包补充安装
2.配置CspApplacation的路径一级名称要和IIS一个可用站点一致
3.和CspApplacation路径一级名称对应的IIS站点要有CSPms模块和相应的映射。经过我测试,像我这个webservice只用到.cls只配一个.cls也可以。
4.测试如果报服务不可用的话就到http://127.0.0.1/csp/bin/Systems/Module.cxw页面配置默认参数,然后测试连接

首先57772发布的webservice是Cache内部包装的阉割版Apache服务器发布的网站服务,面向portal等轻量级运维使用。不适合数量量大的正式环境使用(容易出现假死)。可以用cmd操作这个httpd.exe控制这个web服务的(有些库的57772端口登录不了portal时候可以直接改这个exe的启动端口),也可以terminal重启这个服务。
在这里插入图片描述

//适用开发的csp用不了排查,包括改apache端口
尝试新的跨平台 PowerShell https://aka.ms/pscore6

PS C:\WINDOWS\system32> cd C:\InterSystems\Cache\httpd\bin
PS C:\InterSystems\Cache\httpd\bin> .\httpd.exe -k install
PS C:\InterSystems\Cache\httpd\bin> .\httpd.exe -k stop
The Apache2.4 service is not started.
PS C:\InterSystems\Cache\httpd\bin> .\httpd.exe -k start
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs
PS C:\InterSystems\Cache\httpd\bin> httpd.exe -k status

//项目偶尔webservice就是报密码不对或者连不上时
Cache命令重启apache服务。有的项目就是webservice调用不同或者报密码错误又不好重启数据库,考虑Cache在apache发布的csp服务出毛病了,重启下Cache的apache
%SYS>w ##class(Config.Startup).RestartWebServer()

用57772访问发布的webservice对一级名称是没要求的,基本都可以访问到。原理就是访问是Cache包装的Apache服务,他们之间的对接好的。用不带57772端口访问webservice就是从iis站点访问的,即走80或者实际网站端口,这时候是根据webservice一级名称决定走哪个iis站点。根据名字选择站点后会根据url后缀决定用哪个模块映射处理请求。如http://127.0.0.1/test/LIS.WS.DHCLISService.CLS?WSDL=1就是.cls后缀,会从iis的名字叫test的站点找.cls的处理模块来处理请求。这就是要配置模块和模块映射的原因。

zlz 20220302 全栈才是我目标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小乌鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值