IOS使用soap。

- (IBAction)DoSearch:(id)sender {
    
    NSString *soapMsg=@"<?xml version=\"1.0\" encoding=\"utf-8\"?>"
    "<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
    "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">"
    "<soap12:Body><getMobileCodeInfo xmlns=\"http://WebXml.com.cn/\"><mobileCode>123456789</mobileCode>"
    "<userID></userID></getMobileCodeInfo></soap12:Body></soap12:Envelope>";
    
    NSURL *url=[NSURL URLWithString:@"http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx"];
    
    NSMutableURLRequest *req=[NSMutableURLRequest requestWithURL:url];
    
    NSString *soapMsg_Length=[NSString stringWithFormat:@"%d",soapMsg.length];
    
    [req addValue:@"application/soap+xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
    [req addValue:soapMsg_Length forHTTPHeaderField:@"Content-Length"];
    
    [req setHTTPMethod:@"POST"];
    
    [req setHTTPBody:[soapMsg dataUsingEncoding:NSUTF8StringEncoding]];
    
    self.conn=[[NSURLConnection alloc]initWithRequest:req delegate:self];
    
    if(self.conn)
    {
        self.webData=[NSMutableData data];
    }
    
}

//报错的信息
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;
{
    self.conn=nil;
    //self.webData=nil;
}

//开始获取
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
    [self.webData  setLength:0 ];
    NSLog(@"开始了");
}

//接收部分追回
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
    [self.webData appendData:data];
    NSLog([[NSString alloc]initWithBytes:data.bytes length:data.length encoding:NSUTF8StringEncoding]);
}


//完成后打出
- (void)connectionDidFinishLoading:(NSURLConnection *)connection{
    NSString *thexml=[[NSString alloc]initWithBytes:[self.webData mutableBytes] length:[self.webData length] encoding:NSUTF8StringEncoding];
    NSLog(thexml);
}

 

你可能感兴趣的:(IOS使用soap。)