Reputation:
I am trying to post data to server but it give me error code is
-(IBAction)loginBtnClk:(id)sender
{
[self sendDataToServer :@"POST"];
}
-(void) sendDataToServer : (NSString *) method{
int UserId=0;
NSString *UserCode = userTf.text;
int RoleId=12;
NSString *Salutation = @"Mr.";
NSString *FirstName=frstnmetf.text;
NSString *LastName =lstnametf.text;
NSString *Pwd=paswrdTf.text;
NSString *EmailId=@"[email protected]";
NSString *Mobile=@"9876543210";
NSString *UserType=@"4";
int EmpId=0;
int ZoneId=575;
NSString *post = [NSString stringWithFormat:@"UserId=%d&UserCode=%@&RoleId=%d&Salutation=%@&FirstName=%@&LastName=%@&Pwd=%@EmailId=%@&Mobile=%@&UserType=%@&EmpId=%d&ZoneId=%d",UserId,UserCode,RoleId,Salutation,FirstName,LastName,Pwd,EmailId,Mobile,UserType,EmpId,ZoneId];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%lu",(unsigned long)[post length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://URL?op=Insert_UserData"]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
NSLog(@"URL = %@",request);
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
NSLog(@"Connection link =%@",conn);
if(conn) {
mutableData =[[NSMutableData alloc] init];
NSLog(@"Connection Successful");
} else {
NSLog(@"Connection could not be made");
}
}
#pragma mark NSURLConnection delegates
-(void) connection:(NSURLConnection *) connection didReceiveResponse:(NSURLResponse *)response
{
[mutableData setLength:0];
}
-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[mutableData appendData:data];
}
-(void) connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
serverResponse.text = NO_CONNECTION;
return;
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSXMLParser *myNSXMLParserfloorObj=[[NSXMLParser alloc]initWithData:mutableData];
myNSXMLParserfloorObj.delegate=self;
[myNSXMLParserfloorObj parse];
NSLog(@"%@",myNSXMLParserfloorObj.parserError);
NSString *responseStringWithEncoded = [[NSString alloc] initWithData: mutableData encoding:NSUTF8StringEncoding];
//NSLog(@"Response from Server : %@", responseStringWithEncoded);
NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[responseStringWithEncoded dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
serverResponse.attributedText = attrStr;
}
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if([elementName isEqualToString:@"Insert_UserData"])
{
myDataClassObj=[[mydata alloc]init];
}
}
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
myMutableStringObj=[[NSMutableString alloc]initWithString:string];
NSLog(@"Array String: %@",myMutableStringObj);
NSData *data = [myMutableStringObj dataUsingEncoding:NSUTF8StringEncoding];
responsedict = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"JSON DATA = %@",responsedict);
}
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
}
when I am trying to post data it shows me error
2016-06-28 16:37:07.793 WebServiceDemo[5407:137315] Connection Successful
2016-06-28 16:37:13.035 WebServiceDemo[5407:137315] Array String: soap:Receiver
2016-06-28 16:37:13.035 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:15.241 WebServiceDemo[5407:137315] Array String: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---
2016-06-28 16:37:15.242 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:17.680 WebServiceDemo[5407:137315] Array String: >
2016-06-28 16:37:17.680 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:19.835 WebServiceDemo[5407:137315] Array String: System.Xml.XmlException: Data at the root level is invalid. Line 1, position 1.
2016-06-28 16:37:19.835 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:21.555 WebServiceDemo[5407:137315] Array String:
at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
2016-06-28 16:37:21.556 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:22.808 WebServiceDemo[5407:137315] Array String:
at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
2016-06-28 16:37:22.808 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:23.810 WebServiceDemo[5407:137315] Array String:
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
2016-06-28 16:37:23.811 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:24.696 WebServiceDemo[5407:137315] Array String:
at System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.Read()
2016-06-28 16:37:24.696 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:25.532 WebServiceDemo[5407:137315] Array String:
at System.Xml.XmlReader.MoveToContent()
2016-06-28 16:37:25.532 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:26.200 WebServiceDemo[5407:137315] Array String:
at System.Web.Services.Protocols.SoapServerProtocol.SoapEnvelopeReader.MoveToContent()
2016-06-28 16:37:26.200 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:26.986 WebServiceDemo[5407:137315] Array String:
at System.Web.Services.Protocols.SoapServerProtocolHelper.GetRequestElement()
2016-06-28 16:37:26.986 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:27.820 WebServiceDemo[5407:137315] Array String:
at System.Web.Services.Protocols.Soap12ServerProtocolHelper.RouteRequest()
2016-06-28 16:37:27.820 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:28.705 WebServiceDemo[5407:137315] Array String:
at System.Web.Services.Protocols.SoapServerProtocol.Initialize()
2016-06-28 16:37:28.705 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:29.474 WebServiceDemo[5407:137315] Array String:
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean
2016-06-28 16:37:29.475 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:30.309 WebServiceDemo[5407:137315] Array String: &
2016-06-28 16:37:30.309 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:31.129 WebServiceDemo[5407:137315] Array String: abortProcessing)
2016-06-28 16:37:31.130 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:31.881 WebServiceDemo[5407:137315] Array String:
--- End of inner exception stack trace ---
2016-06-28 16:37:31.882 WebServiceDemo[5407:137315] JSON DATA = (null)
2016-06-28 16:37:31.882 WebServiceDemo[5407:137315] (null)
I am not getting what the issue is. Data is retrive from server properly but at the time of posting is shows me error. help me.
Upvotes: 2
Views: 986
Reputation:
It' Finally run. Just I change the code
-(IBAction)sendDataUsingGet:(id)sender{
[self sendDataToServer : @"GET"];
}
-(void) sendDataToServer : (NSString *) method{
int UserId=idtxt.text;
NSString *UserCode = userTf.text;
NSString *soapMessage = [NSString stringWithFormat:@"<?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>"
"<Method xmlns=\"http://tempuri.org/\">"
"<Paramener1>%d</Paramener1>"
"<Paramener2>%@</Paramener2>"
"</Method>"
"</soap:Body>"
"</soap:Envelope>",UserId,UserCode];
NSData *postData = [soapMessage dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%lu",(unsigned long)[soapMessage length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://URL/Method"]];
[request setHTTPMethod:@"POST"];
[request addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
NSLog(@"URL = %@",request);
//[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
NSLog(@"Connection link =%@",conn);
if(conn) {
mutableData =[[NSMutableData alloc] init];
NSLog(@"Connection Successful");
} else {
NSLog(@"Connection could not be made");
}
}
#pragma mark NSURLConnection delegates
-(void) connection:(NSURLConnection *) connection didReceiveResponse:(NSURLResponse *)response
{
[mutableData setLength:0];
}
-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[mutableData appendData:data];
}
-(void) connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
serverResponse.text = NO_CONNECTION;
return;
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSXMLParser *myNSXMLParserfloorObj=[[NSXMLParser alloc]initWithData:mutableData];
myNSXMLParserfloorObj.delegate=self;
[myNSXMLParserfloorObj parse];
NSLog(@"%@",myNSXMLParserfloorObj.parserError);
NSString *responseStringWithEncoded = [[NSString alloc] initWithData: mutableData encoding:NSUTF8StringEncoding];
//NSLog(@"Response from Server : %@", responseStringWithEncoded);
NSAttributedString * attrStr = [[NSAttributedString alloc] initWithData:[responseStringWithEncoded dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
serverResponse.attributedText = attrStr;
}
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if([elementName isEqualToString:@"Insert_UserData"])
{
myDataClassObj=[[mydata alloc]init];
}
}
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
myMutableStringObj=[[NSMutableString alloc]initWithString:string];
NSLog(@"Array String: %@",myMutableStringObj);
NSData *data = [myMutableStringObj dataUsingEncoding:NSUTF8StringEncoding];
responsedict = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"JSON DATA = %@",responsedict);
}
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
}
Upvotes: 1
Reputation: 856
Please be serialize the data before you will send
NSURL *URL = [NSURL URLWithString:@"URL"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL];
[request setValue:[NSString stringWithFormat:@"application/json"] forHTTPHeaderField:@"Content-Type"];
[request setHTTPMethod:@"POST"];
NSMutableArray *myArray = [[NSMutableArray alloc] init];
[myArray addObject:param];
NSError * err;
NSData * jsonData = [NSJSONSerialization dataWithJSONObject:myArray options:0 error:&err];
NSMutableData *postBody = [NSMutableData data];
[postBody appendData:jsonData];
//add the body to the post
[request setHTTPBody:postBody];
// NSURL *URL = [NSURL URLWithString:@"URL"];
// NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL];
// [request setValue:[NSString stringWithFormat:@"application/raw"] forHTTPHeaderField:@"Content-Type"];
// [request setHTTPMethod:@"GET"];
// UploadDataCmd dataCmd = (UploadDataCmd )cmd;
// dataCmd.resource = [MyEFAPIResource getUploadMePhotoResource:param];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc]
initWithRequest:request];
operation.responseSerializer = [AFJSONResponseSerializer serializer];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
{
//[dataCmd filterData:responseObject];
NSLog(@"Pushed Done");
} failure:^(AFHTTPRequestOperation operation, NSError error)
{
//[dataCmd showError:error];
NSLog(@"Not Pushed");
}];
[operation start];
Upvotes: 0