<?xml version="1.0" encoding="UTF-8" ?>
- <ROOT>
- <CONFIG>
- <!-- TYPE为IN表示传入B2B数据,OUT为B2B返回数据
-->
- <!-- WORKTYPE为0表示新增,为1表示新增返回,为2表示查询,为3表示查询返回
-->
<TYPE>IN</TYPE>
<WORKTYPE>2</WORKTYPE>
</CONFIG>
- <DATA>
- <!-- 主要信息
-->
- <POLICY>
<UNITCODE>分公司代码</UNITCODE>
<APPLYNO>投保单号码</APPLYNO>
<APPLYENDORSENO>批单申请号码</APPLYENDORSENO>
</POLICY>
</DATA>
</ROOT>
上面是一段XML文件的内容。
请问各位朋友,如何通过http/https的POST方式,将里面的内容发送给接受的服务器,同时如何接收对方服务器发送过来的XML文件内容。
或者说如果我直接发送XML文件过去或者接收XML文件过来,同样通过POST方式,我改怎么做?请各位给我详细的代码!
- <ROOT>
- <CONFIG>
- <!-- TYPE为IN表示传入B2B数据,OUT为B2B返回数据
-->
- <!-- WORKTYPE为0表示新增,为1表示新增返回,为2表示查询,为3表示查询返回
-->
<TYPE>IN</TYPE>
<WORKTYPE>2</WORKTYPE>
</CONFIG>
- <DATA>
- <!-- 主要信息
-->
- <POLICY>
<UNITCODE>分公司代码</UNITCODE>
<APPLYNO>投保单号码</APPLYNO>
<APPLYENDORSENO>批单申请号码</APPLYENDORSENO>
</POLICY>
</DATA>
</ROOT>
上面是一段XML文件的内容。
请问各位朋友,如何通过http/https的POST方式,将里面的内容发送给接受的服务器,同时如何接收对方服务器发送过来的XML文件内容。
或者说如果我直接发送XML文件过去或者接收XML文件过来,同样通过POST方式,我改怎么做?请各位给我详细的代码!
Xml.LoadXml(Path);
RequestXml.OuterXml
Stream oWriter=null;
bool bResult=true;
byte[] data = System.Text.Encoding.UTF8.GetBytes(Xml.OuterXml); //转换xml内的数据为byte的数组
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url); //url,函数接口地址 myRequest.Method = "POST";
myRequest.Headers.Add("SOAPAction", SoapAction); //指定访问Web Service的命名空间及使用方法
myRequest.Headers.Add("ContentType","text/xml; charset=utf-8"); //指定字符集
myRequest.Headers.Add("ContentLength",data.Length.ToString());try
{
oWriter=myRequest.GetRequestStream();//获取与远程Web Service的联络
oWriter.Write(data,0,data.Length);//发送数据
oWriter.Close(); //关闭连接
}
catch(Exception)
{
//oWriter.Close();
bResult=false; }
Stream oReader=null; if (bResult) //只有发送数据正常时,才读取响应
{ try
{
HttpWebResponse oResponse=(HttpWebResponse)myRequest.GetResponse(); oReader =oResponse.GetResponseStream() ;
outxml.Load(oReader);
oReader.Close();
}
catch(Exception )
{
}
}
================================
我再取得的结果是不是 就是提示我发送成功还是失败?还是直接能获取对方提供给我的内容字符串?
{ string postUrl =( "http://" + strIp + "/CDMS/Server/CDMS.php?COMMAND=AddContent";) //上传xml,对方的url HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(postUrl); Request.CookieContainer = cookie; Request.Method = "POST"; Request.ContentType = "application/x-www-form-urlencoded"; Request.AllowAutoRedirect = true; // string strXML = "XMLDATA=<book><author>Irina</author><title>Piano Fort A</title><price>4.95</price></book>"; string strXML = "XMLDATA=" + xmlstring; byte[] data = Encoding.UTF8.GetBytes(strXML); Stream newStream = Request.GetRequestStream(); newStream.Write(data, 0, data.Length); newStream.Close(); HttpWebResponse response = (HttpWebResponse)Request.GetResponse(); Stream stream = null; stream = response.GetResponseStream(); StreamReader reader = new StreamReader(stream, System.Text.Encoding.Default, true); string file = reader.ReadToEnd(); }
StreamReader RequestStreamReader = new StreamReader(RequestStream);
string RequestXml = RequestStreamReader.ReadToEnd();
RequestStream.Close();
Public Function WebServices(ByVal soap As String, ByVal url As String, ByVal webnamespace As String) As String
Dim requestHTTP As New MSXML2.XMLHTTPClass
requestHTTP.open("POST", url, False)
requestHTTP.setRequestHeader("Content-Type", "text/xml")
requestHTTP.setRequestHeader("SOAPAction", webnamespace)
requestHTTP.send(soap)
Dim message As String
message = requestHTTP.responseText
Return message
End Function
End Class