2012-11-29 2 views
0

J'ai le code ci-dessous pour me connecter à un webservice et interroger une API pour obtenir un résultat réussi. Mais je suis confronté à deux problèmesObtenir une réponse de webservice reposant

  1. Je ne suis pas capable de capturer la réponse qui est au format XML.

  2. Je ne parviens pas à rediriger la page vers l'URL de retour.

Aide S'il vous plaît TIA

chaîne Url = "";

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(); 

Répondre

0

Chargez le xml de retour dans un jeu de données (note: returnds), puis-je récupérer respones xml comme ceci:

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")); 
    } 
} 
0

Vous semblez essayer de créer une page HTML seule solution. (Que vous utilisez ASP.NET pour générer le code HTML est une distraction). Vous aurez besoin d'écrire javascript supplémentaire sur le onload-- vous ne voulez probablement pas soumettre le formulaire, cela indiquera au navigateur que vous avez terminé avec la page. Vous voulez faire un appel de service Web javascript, la façon jquery est plus facile que la première XmlHttp

Ref: How to call a web service from jQuery

Questions connexes