.net的WebService一直调用很简单,直接添加web引用然后,安装要求掉方法传参就OK了,但是最近开始通过.net调用java的WebService,发现添加引用后,是不能正常调用的,总提示些远程服务无法连接之类的,后来发现原来Java的WebService是需要头部验证的,这里分享个通过XML使用WebRequest的post实现调用的方法。
public void webquerst1()
{
WebRequest request = WebRequest.Create("接口地址");
request.Method = "POST";
System.Xml.XmlDocument xmlpostdata = new System.Xml.XmlDocument();
xmlpostdata.Load(Server.MapPath("调用的XML报文"));
string postData = xmlpostdata.InnerXml;
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
//接收返回报文
string responseFromServer = reader.ReadToEnd();
reader.Close();
dataStream.Close();
response.Close();
}
调用报文的样式我是通过SoapUI获取的,第一篇博客写的不怎么样,请大家见谅~