AX2012 call Webservice directly

发布时间 2023-06-16 23:33:58作者: lingdanglfw

Static void CallWebService(str sURL, RecId PORecId )
{
    System.Net.HttpWebRequest httpRequest = null;
    System.Net.HttpWebResponse httpResponse = null;
    System.Net.CookieCollection cookies = null;
    CLRObject clro = null;
    System.Text.Encoding utf8 = null;
    System.Net.WebHeaderCollection headers;
    System.IO.Stream stream = null;
    System.IO.StreamReader streamReader = null;
    System.Byte[] byteArray = null;
    System.IO.Stream dataStream;
    str jsonData,data;
    int num;

    ;




    new InteropPermission(InteropKind::ClrInterop).assert();

    jsonData = strFmt('{"RecId":"%1"}', PORecId);

    headers = new System.Net.WebHeaderCollection();

    clro = System.Net.WebRequest::Create(sURL);
    httpRequest = clro;
    httpRequest.set_Method('Post');
    httpRequest.set_Timeout(90000);
    httpRequest.set_Headers(headers);
    httpRequest.set_ContentType("application/json");

    utf8 = System.Text.Encoding::get_UTF8();
    byteArray = utf8.GetBytes(jsonData);
    httpRequest.set_ContentLength(byteArray.get_Length());
    stream = httpRequest.GetRequestStream();
    stream.Write(byteArray,0,byteArray.get_Length());
    stream.Close ();


    httpResponse = httpRequest.GetResponse();

 

}