में किसी JSON वेब सेवा में पैरामीटर पास करना मैं एक webservice विधि को कॉल करने और इसे पैरामीटर पास करने का प्रयास कर रहा हूं।उद्देश्य सी
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void GetHelloWorld()
{
Context.Response.Write("HelloWorld");
Context.Response.End();
}
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void GetHelloWorldWithParam(string param)
{
Context.Response.Write("HelloWorld" + param);
Context.Response.End();
}
यहाँ मेरी उद्देश्य सी कोड है::
NSString *urlString = @"http://localhost:8080/MyWebservice.asmx/GetHelloWorld";
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod: @"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
NSError *errorReturned = nil;
NSURLResponse *theResponse =[[NSURLResponse alloc]init];
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&theResponse error:&errorReturned];
if (errorReturned)
{
//...handle the error
}
else
{
NSString *retVal = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", retVal);
//...do something with the returned value
}
तो जब मैं GetHelloWorld फोन यह बहुत अच्छा काम करता है और:
यहाँ मेरी वेब सेवा तरीकों है
NSLog(@"%@", retVal);
प्रदर्शन HelloWorld , लेकिन मैं GetHelloWorldWithParam कैसे कॉल करूं? पैरामीटर कैसे पास करें?
मैं के साथ प्रयास करें:
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:@"myParameter" forKey:@"param"];
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict options:kNilOptions error:&error];
और अनुरोध करने के लिए दो निम्न पंक्तियां जोड़ें:
System.InvalidOperationException: Missing parameter: test.
at System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection)
at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
आपकी मदद के लिए धन्यवाद:
[request setValue:[NSString stringWithFormat:@"%d", [jsonData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody: jsonData];
मैं त्रुटि है! टेडी
अरे, आपको बहुत धन्यवाद, यह समाधान है। मैं param को भूल गया ... मेरे web.config पहले से ही इन लाइनों था। – user1306602