【问题标题】:Get response from restful webservice从 RESTful Web 服务获取响应
【发布时间】:2012-11-29 17:15:57
【问题描述】:

我有以下代码连接到网络服务并查询 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();

【问题讨论】:

    标签: c# asp.net web-services


    【解决方案1】:

    将返回的 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"));
      }
    }
    

    【讨论】:

      【解决方案2】:

      您似乎正在尝试创建仅 HTML 的解决方案。 (您使用 ASP.NET 生成 HTML 会分散注意力)。您将需要在 onload 上编写额外的 javascript——您可能不想提交表单,这会告诉浏览器您已完成该页面。你会想要调用 javascript web 服务,jquery 方式比原始 XmlHttp 更容易

      参考:How to call a web service from jQuery

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多