Cache(十四):webservice

 

 

%SYS>s ^SYS("Security","CSP","AllowClass","/imedical/web/","%CSP.UI.Portal.About")=1
%SYS>s ^SYS("Security","CSP","AllowClass","/imedical/web/","%SOAP.WebServiceInfo")=1
%SYS>s ^SYS("Security","CSP","AllowClass","/imedical/web/","%SOAP.WebServiceInvoke")=1

根据实际地址更改

 

 

 


练习

  1. 新建webservice完成后test灰色需要zn

    在webservice下新建方法后,调用方法需要new一个对象再进行调用

    w ##class(web.MyService).%New().GetSSuserName("0004")
    /// web.MyService
    Class web.MyService Extends %SOAP.WebService [ ProcedureBlock ]
    {
    
    /// WebService 的名称.
    Parameter SERVICENAME = "MyService";
    
    /// TODO:将此更改为实际 SOAP namespace.
    /// WebService 的 SOAP Namespace
    Parameter NAMESPACE = "http://tempuri.org";
    
    /// 引用类的 Namespace 将在 WSDL 中使用.
    Parameter USECLASSNAMESPACES = 1;
    
    /// TODO:添加自变量和实施.
    /// Test
    Method Test() As %String [ WebMethod ]
    {
    	Quit "Test"
    }
    
    // 
    
    Method Hello() As %String [ WebMethod ]
    {
    	Quit "Hello"
    }
    ///function:获取用户名称
    /// input:Code  用户工号
    /// output:SSUserName 用户姓名
    /// table:SS_User 
    /// w ##class(web.MyService).%New().GetSSUserName("0004")
    Method GetSSUserName(Code as %String) as %String [WebMethod]{
        q:Code="" "Code is Null"
        s SSUserRowId=$o(^SSU("SSUSR",0,"SSUSR_Initials",Code,0))
        q:SSUserRowId="" ""    //循环完毕
        s SSUserName=$p($g(^SSU("SSUSR",SSUserRowId)),"^",2)
        q SSUserName
    
    }
    
    
    
    }
  2. 调用新建的webservice
    调用使用ClassMethod
    免费的webservice接口
    http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl





    生成soap类


    /// w ##class(web.MyService).%New().TestWebservice("上海")
    ClassMethod TestWebservice(byProvinceName as %String) As %Status
    {
        s obj=##class(WeatherWebService.WeatherWebServiceSoap).%New()
        if (obj){
            s result=obj.getSupportCity(byProvinceName)
            b
        }
    }

    返回list格式结果集
  3. 在其他cache库上调用自己编写的webservice需要填写服务器用户名与密码
    dhwebservice 均为此
    生成soap类即可,步骤与2一致

 
posted @ 2023-07-28 15:58  HY10-SALTEST-FISH  阅读(54)  评论(0编辑  收藏  举报