.net net中的SOAP请求
我正在尝试生成一个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
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服务有同样的问题。提前谢谢。