Webservice возвращает ошибку 500
Дорогие все,
Я пытаюсь сделать простое настольное приложение, которое вызывает какой-то веб-сервис. Я делаю веб-сервис, используя wso2 esb. Но когда я вызываю службу через свое приложение, она возвращает ошибку 500. Вот мой класс, который вызывает веб-службу
private void button3_Click(object sender, EventArgs e) { try { ChangeUrl("https://192.168.24.129:9443/services/rate_DataService/"); ExampleWebMethod(txtFrom.Text, txtTo.Text, 12456); } catch (Exception ex) { MessageBox.Show(ex.Message); } } public static void ChangeUrl(string webserviceEndpoint) { ExampleAPI = new WebService(webserviceEndpoint); } public static string ExampleWebMethod(string from, string to, decimal number) { ExampleAPI.PreInvoke(); ExampleAPI.AddParameter("param0", from); ExampleAPI.AddParameter("param1", to); ExampleAPI.AddParameter("param2", number.ToString()); try { ExampleAPI.Invoke("ExampleWebMethod"); } finally { ExampleAPI.PosInvoke(); } return ExampleAPI.ResultString; }
и это класс Webservice, который я создаю
public void Invoke(string methodName) { Invoke(methodName, true); } private void Invoke(string methodName, bool encode) { AssertCanInvoke(methodName); string soapStr = @"<?xml version=""1.0"" encoding=""utf-8""?> <soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/""> <soap:Body> <{0} xmlns=""http://tempuri.org/""> {1} </{0}> </soap:Body> </soap:Envelope>"; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Url); req.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true); req.Headers.Add("SOAPAction", "\"http://tempuri.org/" + methodName + "\""); req.ContentType = "text/xml;charset=\"utf-8\""; req.Accept = "text/xml"; req.Method = "POST"; using (Stream stm = req.GetRequestStream()) { string postValues = ""; foreach (var param in Params) { if (encode) postValues += string.Format("<{0}>{1}</{0}>", HttpUtility.HtmlEncode(param.Key), HttpUtility.HtmlEncode(param.Value)); else postValues += string.Format("<{0}>{1}</{0}>", param.Key, param.Value); } soapStr = string.Format(soapStr, methodName, postValues); using (StreamWriter stmw = new StreamWriter(stm)) { stmw.Write(soapStr); } } using (StreamReader responseReader = new StreamReader(req.GetResponse().GetResponseStream())) { string result = responseReader.ReadToEnd(); ResponseSOAP = XDocument.Parse(Utils.UnescapeString(result)); ExtractResult(methodName); } }
Что я уже пробовал:
Я уже пробовал гуглить его, и некоторые сказали, что мне нужно установить размер jsonSerialization, но так как я использую wso2, я не могу найти, где находится веб-конфигурация.
Есть ли кто-нибудь, кто знает, как решить эту проблему
Спасибо
Richard Deeming
Ошибка 500 просто означает, что что - то пошло не так на сервере. Вам нужно будет получить сведения об ошибке из журнала сервера, чтобы увидеть, в чем заключается проблема.