Hi,
I have successfully used asp.net web services of .NET 3.5 to retrieve a custom class instance. I am using google web toolkit, and I have seen posts from users claiming they have passed json between gwt and asp.net. The problem appears when I try to pass a parameter to asp.net web service. First I thought the problem was related to custom type, but it appears I can not even pass a simple string parameter.
my outgoing json string is:
{"input":"testing call"}
and the response I get is :
{"Message":"Invalid web service call, missing value for parameter: \u0027input\u0027.","StackTrace":" at System.Web.Script.Services.WebServiceMethodData.CallMethod(Object target, IDictionary`2 parameters)\r\n at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary`2 parameters)\r\n at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary`2 rawParams)\r\n at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}
The source code of the web service is below, and I'd really appreciate any help. I do not want to use jayrock etc, when .NET has a native solution for this purpose.
Best Regards
Seref Arikan
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Web.Script.Services; namespace JsonTest { /// <summary> /// Summary description for Service1 /// </summary> [System.Web.Script.Services.ScriptService] [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] public class Service1 : System.Web.Services.WebService { [WebMethod] [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)] public TestInfo HelloWorld() { return new TestInfo(); } [WebMethod] [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)] public void TestHelloWorld(string input) { string val = input; } } public class TestInfo { public string val = "I am a test val"; public int intVal = 2; public ArrayList lst = new ArrayList() { "val1", "val2" }; } }