• [C#/Java] C#中调用Servlet示例


    需求

    通用消息接口使用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="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); 
        }                                              
    }
  • 相关阅读:
    商战
    广告、好广告
    车的一点知识
    微服务应用的性能
    js 的一点用法
    做生意、做买卖
    [CODEVS1912] 汽车加油行驶问题(分层图最短路)
    [CODEVS1911] 孤岛营救问题(分层图最短路)
    [luoguP2754] 星际转移问题(最大流)
    [POJ1226]Substrings(后缀数组)
  • 原文地址:https://www.cnblogs.com/Areas/p/5756386.html
Copyright © 2020-2023  润新知