예제 #1
0
        static void HttpSoapSample()
        {
            //获取配置参数
            string[] p = new string[] { (string)InterfaceParameter.Instance.GetGlobalParameters()["POS"], string.Empty,
                                        System.DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd") };

            //创建Soap实体对象并添加参数
            SoapParameter soap = new SoapParameter();

            StringBuilder sb = new StringBuilder();

            //添加根节点
            soap.RootNode             = "soapenv";
            soap.RootDefaultNameSpace = "xmlns:ws=\"http://ws.nip.com\"";
            soap.SoapAction           = "";
            //添加函数API
            soap.MethodNode             = "ws:shopSystemInspectData";
            soap.MethodDefaultNameSpace = "soapenv:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"";
            //添加参数
            sb.AppendFormat("<shopcode xsi:type=\"xsd:string\">{0}</shopcode>", p[1]);
            sb.AppendFormat("<idate xsi:type=\"xsd:string\">{0}</idate>", p[2]);
            //返回Soap信息
            soap.MethodParameterValue = sb.ToString();

            //创建请求对象
            HttpParameters query = InterfaceHttpConfig.Setting(p[0], soap.ToString(), DataFormatter.SOAP);

            //调用接口获取返回信息;
            HttpParameters http = (HttpParameters)query;
            XmlDocument    doc  = InterfaceHttpRequest.QueryXml(http);
        }
예제 #2
0
        public static string ConvertSoapToString(SoapParameter soap)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("<{0}:Envelope ", soap.RootNode);

            sb.Append("xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ");
            sb.Append("xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" ");
            sb.AppendFormat("xmlns:{0}=\"http://schemas.xmlsoap.org/soap/envelope/\" ", soap.RootNode);

            if (soap.RootDefaultNameSpace.Length != 0)
            {
                sb.Append(soap.RootDefaultNameSpace).Append(">");
            }

            if (soap.RootDefaultNameSpace.Length == 0)
            {
                sb.Append(">").AppendFormat("<{0}:Header/>", soap.RootNode);
            }

            sb.AppendFormat("<{0}:Body>", soap.RootNode);

            if (soap.MethodDefaultNameSpace.Length != 0)
            {
                sb.AppendFormat("<{0} {1}>", soap.MethodNode, soap.MethodDefaultNameSpace);
            }

            if (soap.MethodDefaultNameSpace.Length == 0)
            {
                sb.AppendFormat("<{0}>", soap.MethodNode);
            }

            sb.AppendFormat("{0}", soap.MethodParameterValue);
            sb.AppendFormat("</{0}>", soap.MethodNode);
            sb.AppendFormat("</{0}:Body>", soap.RootNode);

            sb.AppendFormat("</{0}:Envelope>", soap.RootNode);

            return(sb.ToString());
        }