簡體   English   中英

從寧靜的Web服務獲取響應

[英]Get response from restful webservice

我有以下代碼連接到Web服務並查詢API以獲取成功結果。 但是我面臨兩個問題

  1. 我無法捕獲XML格式的響應。

  2. 我無法從頁面重定向回返回URL。

請幫助TIA

字符串網址=“”;

    string Method = "";

    string Group = "";

    string FormName = "";

    string return_url = "";

    Url = "https://abc.com/ws/";
    Method = "getRates";
    Group = "rates";
    FormName = "form1";
    return_url = "~/app/Public/PaymentTest.aspx?DR={DR}";

    NameValueCollection FormFields = new NameValueCollection();
    FormFields.Add("username", "xxx");
    FormFields.Add("password", "xxxx");
    FormFields.Add("pin", "xxxx");
    FormFields.Add("dest_country", "Kenya");
    FormFields.Add("return_url", return_url);

    Response.Write("<html><head>");
    Response.Write(string.Format("</head><body onload=\"document.{0}.submit()\">", FormName));
    Response.Write(string.Format("<form name=\"{0}\" method=\"{1}\" action=\"{2}\" >", FormName, "post", Url + Group + "/" + Method));

    for (int i = 0; i < FormFields.Keys.Count; i++)
    {
        Response.Write(string.Format("<input name=\"{0}\" type=\"hidden\" value=\"{1}\">", FormFields.Keys[i], FormFields[FormFields.Keys[i]]));
    }
    Response.Write("</form>");
    Response.Write("</body></html>");
    Response.End();

將返回的xml加載到數據集中(注意:returnds),然后我檢索xml響應,如下所示:

int i = 0;
string current = null;
for (i = 0; i <= returnds.Tables(0).Rows.Count - 1; i++) {
  if (Information.IsDBNull(returnds.Tables(0).Rows(i)("ValueOfXML")) == true) {
    current = "";} 
else {
    current = Convert.ToString(returnds.Tables(0).Rows(i)("ValueOfXML"));
  }
}

您似乎正在嘗試創建僅HTML解決方案。 (您正在使用ASP.NET生成HTML是一種干擾)。 你將需要寫額外的JavaScript的onload--你可能不希望提交表單,會告訴你與網頁進行瀏覽器。 你想使一個JavaScript的Web服務調用,jQuery的方式比原為XmlHttp容易

參考: 如何從jQuery調用Web服務

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM