当前位置:  开发笔记 > 编程语言 > 正文

C#中的SOAP客户端无法访问WSDL文件

如何解决《C#中的SOAP客户端无法访问WSDL文件》经验,为你挑选了1个好方法。

我正在与第三方合作,将我们的一些系统与他们的系统集成在一起,它们为我们提供了一个SOAP接口,用于在其连接的系统中进行某些请求和更改.对我来说问题是他们不提供WSDL文件供我使用.如果我有一个WSDL文件,那么运行提供的.NET命令(wsdl.exe)并生成一个代理类来与服务进行交互就是一件简单的事情.

没有WSDL文件,有一种"简单"的方法吗?我拥有可以访问的所有功能以及需要发送的参数以及我应该期待的回报.

拥有没有WSDL文件的SOAP服务是否常见?(我问这个,因为我们将来会增加更多的外部系统)

有没有人针对无WDSL服务完成代理类或任何其他形式的客户端,并且有任何关于如何做的好指示?



1> 小智..:
string EndPoints = "http://203.189.91.127:7777/services/spm/spm";

string New_Xml_Request_String = " " + DateTime.Now.ToString("o").Remove(19, 14) + "" + Source + "" + Destincation + "";


 protected string HttpSOAPRequest_Test(string xmlfile, string proxy)
    {
        try
        {
            System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
            doc.InnerXml = xmlfile.ToString();
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(EndPoints);
            req.Timeout = 100000000;
            if (proxy != null)
                req.Proxy = new WebProxy(proxy, true);
            req.Headers.Add("SOAPAction", "");
            req.ContentType = "application/soap+xml;charset=\"utf-8\"";
            req.Accept = "application/x-www-form-urlencoded"; //"application/soap+xml";
            req.Method = "POST";
            Stream stm = req.GetRequestStream();
            doc.Save(stm);
            stm.Close();
            WebResponse resp = req.GetResponse();
            stm = resp.GetResponseStream();
            StreamReader r = new StreamReader(stm);
            string myd = r.ReadToEnd();
            return myd;
        }

   catch (Exception se)
        {
            throw new Exception("Error Occurred in AuditAdapter.getXMLDocumentFromXMLTemplate()", se);
        }
    }

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有