国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#中調用Servlet示例

2020-01-24 01:49:24
字體:
來源:轉載
供稿:網友

需求

通用消息接口使用servlet作為服務器端服務接口,第三方應用程序通過http post的方式調用servlet,實現與通用消息接口的調用連接。
參數說明如下:
msgTitle:消息標題,描述發送消息的標題
serviceId:服務編號,消息的服務編號
msgDesp:消息描述,消息的詳細內容
msgURL:URL地址,消息中包含的 URL
上述4個參數的參數值可以為空,但參數必須提供。

調用示例

下面一段簡單的html代碼,描述了如何通過網頁進行調用通用消息接口的模式,供參考。

復制代碼 代碼如下:

<html><head><title>Sametime通用消息服務</title>
</head><body>
<formaction="http://stproxy.test.foton.com:9080/
fotonstbot/ServiceServlet" method="post">name="msgTitle" /><br />
服務編號: <input type="text" id="serviceId" name="serviceId" /><br />
消息描述:  <input type="text" id="msgDesp" name="msgDesp" /><br />
URL:   <input type="text" id="msgUrl" name="msgUrl" /><br />
系統類型:   <input type="text" id="sysType" name="sysType" /><br />
目標用戶:  <input type="text" id="targetuser" name="targetuser" style="width:500px;" /><br />
<input type="submit" value="Submit" />
</form>
</body></html>

C#調用示例

復制代碼 代碼如下:

/// <summary>
/// sametime
/// </summary>
/// <param name="bstrReceiver">sametime用戶</param>
/// <param name="bstrTitle">標題</param>
/// <param name="lDelayTime">響應時間</param>
/// <param name="bstrMsg">內容</param>
public static void SendNotify(string bstrReceiver, string bstrTitle, int lDelayTime, string bstrMsg)
{
    string user="";
    try {
        String url = "http://stproxy.foton.com.cn:9081/fotonstbot/ServiceServlet";//html調用的地址              
        HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
        if(webrequest==null)
        {
            RecorderErrorRtx(bstrReceiver,bstrTitle,bstrMsg,"服務端異常",0);
            return;
        }
        webrequest.Method = "POST";
        webrequest.Timeout = lDelayTime;
        webrequest.ContentType = "application/x-www-form-urlencoded";
        byte[] bufferTitile = Encoding.GetEncoding("utf-8").GetBytes(bstrTitle);       
        string sbTitle = "";
        foreach (byte b in bufferTitile) sbTitle=sbTitle+(string.Format("%{0:X}", b));
        byte[] bufferContent = Encoding.GetEncoding("utf-8").GetBytes(bstrMsg);
        string sbContent = "";
        //UTF8注意轉碼
        foreach (byte b in bufferContent) sbContent=sbContent+(string.Format("%{0:X}", b));
        System.Collections.Hashtable pars=new System.Collections.Hashtable();
        pars.Add("msgTitle", sbTitle);
        pars.Add("serviceId", "");
        pars.Add("msgDesp",  sbContent);
        pars.Add("msgUrl", "");
        pars.Add("sysType", "QCTS");
        user="uid="+bstrReceiver+",cn=users,DC=FOTON;";
        pars.Add("targetuser", user);
        string buffer="";
        //發送POST數據 
        if (!(pars == null || pars.Count == 0))
        {

            foreach (string key in pars.Keys)
            {
                buffer=buffer+"&"+key+"="+pars[key].ToString();                
            }
            byte[] data = Encoding.UTF8.GetBytes(buffer);
            using (Stream stream = webrequest.GetRequestStream())
            {
                stream.Write(data, 0, data.Length);
            }
        }

        string[] values = webrequest.Headers.GetValues("Content-Type");
        WebResponse myResponse= webrequest.GetResponse();

        using(Stream resStream = myResponse.GetResponseStream())//得到回寫的流
        {
            StreamReader newReader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
            string Content = newReader.ReadToEnd();        
            newReader.Close();
        }
        RecorderRtx(user,bstrTitle,bstrMsg,0);

    }

    catch(Exception ex)
    {
        RecorderErrorRtx(user,bstrTitle,bstrMsg,ex.Message,0); 
    }                                              
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴仁县| 北流市| 长阳| 饶河县| 江阴市| 湘乡市| 金乡县| 布尔津县| 新田县| 衡南县| 汨罗市| 安平县| 汾西县| 宜良县| 广饶县| 苍山县| 浪卡子县| 花莲县| 札达县| 芒康县| 顺平县| 浪卡子县| 甘南县| 晋中市| 杭锦旗| 临颍县| 靖西县| 塔城市| 广州市| 文登市| 彭泽县| 连山| 漳浦县| 长武县| 兴海县| 马公市| 明溪县| 辽源市| 珠海市| 南澳县| 伊金霍洛旗|