.net net中的SOAP请求

.net net中的SOAP请求,.net,wcf,web-services,soap,.net,Wcf,Web Services,Soap,我正在尝试生成一个soap请求,但无法找出我做错了什么 以下是一份关于请求外观的文档: 以下是我所做的: StringBuilder reqBuilder = new StringBuilder(1000); reqBuilder.Append("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.or

我正在尝试生成一个soap请求,但无法找出我做错了什么

以下是一份关于请求外观的文档:

以下是我所做的:

        StringBuilder reqBuilder = new StringBuilder(1000);
        reqBuilder.Append("<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:ns1=\"http://api.affiliatewindow.com/\">");
        reqBuilder.Append("<soapenv:Header>");
        reqBuilder.Append("<ns1:UserAuthentication soapenv:mustUnderstand=\"1\" soapenv:actor=\"http://api.affiliatewindow.com\">");
        reqBuilder.Append("<ns1:iId>***********</ns1:iId>");
        reqBuilder.Append("<ns1:sPassword>**************</ns1:sPassword>");
        reqBuilder.Append("<ns1:sType>affiliate</ns1:sType>");
        reqBuilder.Append("</ns1:UserAuthentication>");
        reqBuilder.Append("</soapenv:Header>");
        reqBuilder.Append("<soapenv:Body>");
        reqBuilder.Append("<ns1:getTransactionList>");
        reqBuilder.Append("<ns1:dStartDate>" + dateTimePickerFrom.Value.ToString("yyyy-MM-dd")+ "</ns1:dStartDate>");
        reqBuilder.Append("<ns1:dEndDate>" + dateTimePickerTo.Value.ToString("yyyy-MM-dd") + "</ns1:dEndDate>");
        reqBuilder.Append("<ns1:sDateType>transaction</ns1:sDateType>");
        reqBuilder.Append("</ns1:getTransactionList>");
        reqBuilder.Append("</soapenv:Body>");
        reqBuilder.Append("</soapenv:Envelope>");

        string strSoapMessage = reqBuilder.ToString();
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create(new Uri(@"http://api.affiliatewindow.com/v4/AffiliateService?wsdl"));
        req.ContentType = "text/xml; charset=utf-8";
        req.Method = "POST";
        req.Accept = "text/xml";
        req.Headers.Add("SOAPAction", "getTransactionList");

        byte[] reqBytes = System.Text.Encoding.UTF8.GetBytes(strSoapMessage);
        req.ContentLength = reqBytes.Length;

        Stream reqStream = req.GetRequestStream();
        reqStream.Write(reqBytes, 0, reqBytes.Length); reqStream.Close();

        HttpWebResponse response = req.GetResponse() as HttpWebResponse;
        Stream responsedata = response.GetResponseStream();
        StreamReader responsereader = new StreamReader(responsedata);
        string response1 = responsereader.ReadToEnd();

        string saveFileName = "test.xml";
        XmlDocument xmlFile = new XmlDocument();
        xmlFile.LoadXml(response1);
        xmlFile.Save(saveFileName);
StringBuilder reqBuilder=新StringBuilder(1000);
请求生成器。追加(“”);
请求生成器。追加(“”);
请求生成器。追加(“”);
请求生成器。追加(“*************”);
请求生成器。追加(“****************”);
请求建造商追加(“附属公司”);
请求生成器。追加(“”);
请求生成器。追加(“”);
请求生成器。追加(“”);
请求生成器。追加(“”);
reqBuilder.Append(“+dateTimePickerFrom.Value.ToString(“yyyy-MM-dd”)+”);
reqBuilder.Append(“+dateTimePickerTo.Value.ToString(“yyyy-MM-dd”)+”);
请求生成器追加(“交易”);
请求生成器。追加(“”);
请求生成器。追加(“”);
请求生成器。追加(“”);
字符串strSoapMessage=reqBuilder.ToString();
HttpWebRequest req=(HttpWebRequest)WebRequest.Create(新Uri(@)http://api.affiliatewindow.com/v4/AffiliateService?wsdl"));
req.ContentType=“text/xml;charset=utf-8”;
请求方法=“POST”;
req.Accept=“text/xml”;
添加(“SOAPAction”、“getTransactionList”);
byte[]reqBytes=System.Text.Encoding.UTF8.GetBytes(strSoapMessage);
req.ContentLength=reqBytes.Length;
Stream reqStream=req.GetRequestStream();
reqStream.Write(reqBytes,0,reqBytes.Length);reqStream.Close();
HttpWebResponse=req.GetResponse()作为HttpWebResponse;
Stream responsedata=response.GetResponseStream();
StreamReader responsereader=新的StreamReader(responsedata);
字符串response1=responsereader.ReadToEnd();
string saveFileName=“test.xml”;
XmlDocument xmlFile=新的XmlDocument();
LoadXml(response1);
Save(saveFileName);
我的响应是wsdl服务()的内容


任何帮助都将是最受欢迎的

呃……您的第一个错误是实际按照您所做的方向去做

因为你有一个WDSL。最简单的方法是打开.NETWSDL工具


一旦你有了这些,你应该能够通过代理轻松地生成和发送请求。

为了其他人的利益,请编辑你的问题,包括什么不适合这种方法,以及任何相关错误。你修复了吗?因为我对同一个wsdl服务有同样的问题。提前谢谢。