SOAP1.2调用webservice返回值的问题
用SOAP1.2调用webservicewebservice 函数很简单,如下
[WebMethod]
public string Getresults(string SName, string PassWord)
{
return "11";
}
返回值为"11",用SOAP1.2调用代码如下
string responseString;
string poststring = @"<?xml version=""1.0"" encoding=""utf-8""?>
<soap12:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap12=""http://www.w3.org/2003/05/soap-envelope"">
<soap12:Body>
<Getresults xmlns=""http://tempuri.org/"">
<SName>sdf</SName>
<PassWord>ttt</PassWord>
</Getresults>
</soap12:Body>
</soap12:Envelope>";
byte[] postBytes = Encoding.UTF8.GetBytes(poststring);
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://localhost:3402/WebSite3/WebService.asmx");
req.Method = "POST";
req.ContentType = "application/soap+xml; charset=utf-8";
req.ContentLength = postBytes.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(postBytes, 0, postBytes.Length);
}
using (HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse())
{
StreamReader sr = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
responseString = sr.ReadToEnd();
if (responseString =="11")
{ //做相应的操作
}
}
测试了responseString的值就是"11",但为何最后的做相应操作的时候总无法成立?
请教各位高手,急啊!!! --------------------编程问答-------------------- 是编码的问题么? --------------------编程问答-------------------- 用response.write这些都显示为11,后来直接存入数据库 发现是个XML文档。。。
路漫漫其修远兮,新手学习的路还真长。
不知道怎么直接读取,正在研究中。
知道的指教下,谢谢了。 --------------------编程问答-------------------- 返回的是一个xml吧,解析一下,或者用正则读取出来就行啦 --------------------编程问答-------------------- 用下面的方法看看它是否真的为11
--------------------编程问答-------------------- 已解决
if (responseString =="11")
{
//做相应的操作
}
else
{
Response.Write(responseString);//如果是11,哪你看看responseString是否为String类型
}
返回的是个XML文件,用字符操作读成功了。 --------------------编程问答-------------------- 有没有SOAP直接提供的方法,可以解析其中的数据信息?get***之类的
补充:.NET技术 , ASP.NET