SOAP WebServices

-(IBAction)callwebservices
{
    NSLog(@"Avneesh");
    NSString *soapMessage=[NSString stringWithFormat:@""];
  
    NSURL *url = [NSURL URLWithString:@"http://www.w3schools.com/webservices/tempconvert.asmx"];
   
    NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
    NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMessage length]];
   
    [theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
    [theRequest addValue: @"http://tempuri.org/CelsiusToFahrenheit" forHTTPHeaderField:@"SOAPAction"];
    [theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
    [theRequest setHTTPMethod:@"POST"];
    [theRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]];
    NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
    if( theConnection) {
        webData = [[NSMutableData data] retain];
    }
    else{
        NSLog(@"The Connection is NULL");
    }
   
}
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    [webData setLength: 0];
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [webData appendData:data];
}

-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
   
    NSLog(@"ERROR with the Conenction");
    [connection release];
    [webData release];
   
    UIAlertView *message = [[UIAlertView alloc]
                            initWithTitle:@"Sample"
                            message:@"Connection Error"
                            delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [message show];
    [message release];
   
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    NSLog(@"DONE. Received Bytes: %d", [webData length]);
    NSString *theXML = [[NSString alloc] initWithBytes: [webData mutableBytes] length:[webData length] encoding:NSUTF8StringEncoding];
    NSLog(@"the return object is :%@",theXML);
    [theXML release];
    NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData: webData];
    [xmlParser setDelegate: self];
    [xmlParser parse];
    [connection release];
    [webData release];
    [xmlParser release];
  }   
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *) namespaceURI qualifiedName:(NSString *)qName
   attributes: (NSDictionary *)attributeDict {
   
    string2=elementName;
}
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
   
    if([string2 isEqualToString:@"CelsiusToFahrenheitResult"])
        showresult.text=string;
       
}

Comments