python调用wcf服务 实现网

2020-01-13 15:51:21 浏览数 (1)

实现目标: 1.创建一个WCF服务,用于读卡。 再创建一个winform客户端程序,作为WCF的宿主。 WCF服务以 IP 端口的形式对外提供服务。 2.python中安装suds,用于解析 WCF的服务地址。

winform客户端程序中的主要代码:

代码语言:javascript复制
            ServiceHost Host = new ServiceHost(typeof(WcfTest.Service1));

            //绑定
            System.ServiceModel.Channels.Binding httpBinding = new BasicHttpBinding();
            //终结点
            Host.AddServiceEndpoint(typeof(WcfTest.IService1), httpBinding, "http://localhost:8002/");
            if (Host.Description.Behaviors.Find<System.ServiceModel.Description.ServiceMetadataBehavior>() == null)
            {
                //行为
                ServiceMetadataBehavior behavior = new ServiceMetadataBehavior();
                behavior.HttpGetEnabled = true;

                //元数据地址
                behavior.HttpGetUrl = new Uri("http://localhost:8002/Service1");
                Host.Description.Behaviors.Add(behavior);

                //启动
                Host.Open();
            }
代码语言:javascript复制
python程序中的调用代码: 
 from suds.client import Client 
 def getDataTest(cu): 
     try: 
         client = Client(‘http://localhost:8002/Service1‘) 
         print client    #结果看图1 
         result =  client.service.ShowMess()  #这个号码是办证的,拿来测试,哈哈 
         return JSONResponse(result) 
     except: 
         return JSONResponse(‘error’)

0 人点赞