<?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方式,我改怎么做?请各位给我详细的代码!

解决方案 »

  1.   

    XmlDocument XmlD=new XmlDocument();
    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 )
    {
    }
    }
      

  2.   

    XmlDocument outxml = new XmlDocument();
      

  3.   

    对方那边不是 webService 接收的,那边不知道是用啥语言做的程序!
      

  4.   

    如上,使用 HttpWebRequest/HttpWebResponse
      

  5.   

    对方那边不是 webService 接收的,那边不知道是用啥语言做的程序!======又没有用 WS ,你只管按对方要求的xml格式发送即可,接受、处理是他的事情,处理完成之后,他给你 Response, 你再取得 (成功结果或者失败)
      

  6.   

    处理完成之后,他给你 Response, 你再取得 (成功结果或者失败)
    ================================
    我再取得的结果是不是 就是提示我发送成功还是失败?还是直接能获取对方提供给我的内容字符串?
      

  7.   

    1楼的朋友(chenzhifeng(【Santi】)给我发的是发送XML文件的,但是对方好象不接受XML文件,而直接接受的是XML里的内容,那我该怎么做?
      

  8.   

    还有,我该如何获取对方发送过来的XML呢?
      

  9.   

    我发送xml不是文件,而是把xml读取到流里面然后再发送..就相当于发送xml里面的内容.接收也是一样,
      

  10.   

    chenzhifeng(【Santi】(Santiago)★★★★★) 你的代码有错误,能不能给我一个正确的,谢谢!
      

  11.   

    public void LoadupFile(string xmlstring)
            {                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();                        }
      

  12.   

    purexiafeng(下风) 你的方法实际上就是 用 POST方式发送字符串,感谢你!
      

  13.   

    xml文档转为字符串后再发,XMLDOCMENT.OUTXML
      

  14.   

    接收Stream RequestStream = Request.InputStream;
    StreamReader RequestStreamReader = new StreamReader(RequestStream);
    string RequestXml = RequestStreamReader.ReadToEnd();
    RequestStream.Close();
      

  15.   

    Public Class WebServices
        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