Son Forum Aktiviteleri

3
Tümünü Gör

NSURLConnection bağlantısı

Merhaba,

Web Service bağlantısı gerçekleştirirken [Connection start] dedikten sonra, web service metodum her nereden çağrılırsa çağrılsın direk olarak;

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response

{}

metoduna bağlansın istiyorum. Ancak başka bir metod içinden çağırdığım web service bağlantı fonksiyonu işlendikten sonra, connection open olmasına rağmen ilk olarak web service metodunu çağırdığım fonksiyona dönüp fonksiyonu işliyor ve ardından "didReceiveResponse" metoduna giriş yapıp web service verisini döndürüyor. 

Bunu farklı olarak connection start dendiği anda "didReceiveResponse" girmesini sağlayacak bir düzenleme yapabilir miyim?

NSURLConnection bağlantısı

Yardımınız için teşekkürler, iyi çalışmalar dilerim.

NSURLConnection bağlantısı

@Cem,

Kusura bakmayın, bu yapıyı bilmediğim için söylediklerinizi tam olarak kavrayamadım. Kodu göndereyim o zaman sıkıntımı daha net aktarabilirim sanırım;

-(void)WebServiceBaglantim

 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>"

                              "<LokasyonMusaitmi xmlns=\"http://tempuri.org/\">"

                              "<SirketID>%@</SirketID>"

                              "<YerID>%@</YerID>"

                              "<GunNo>%@</GunNo>"

                              "<AlisTarihi>%@</AlisTarihi>"

                              "<BirakisTarihi>%@</BirakisTarihi>"

                              "</LokasyonMusaitmi>"

                              "</soap:Body>"

                              "</soap:Envelope>",SirketID,YerID,GunNo,AlisTarihi,BirakisTarihi];

    

    NSURL *url =[NSURL URLWithString:@"http://deneme.com"];

    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/LokasyonMusaitmi" forHTTPHeaderField:@"SOAPAction"];

    [theRequest addValue:msgLength forHTTPHeaderField:@"Content-Length"];

    [theRequest setHTTPMethod:@"POST"];

    [theRequest setHTTPBody:[soapMessage dataUsingEncoding:NSUTF8StringEncoding]];

    theConnectionLokasyonKontrol = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];

     if(theConnectionLokasyonKontrol){

 webDataLokasyonKontrol =[NSMutableData data];

}

Bu fonksiyon işlendikten hemen sonra bağlantı açılıyor, ancak 

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response

{

  NSLog(@"Bağlantı Var");

    if(theConnectionLokasyonKontrol)

        [webDataLokasyonKontrol setLength:0];

    }

Bu yapıya direk girmiyor, 'WebServiceBaglantim'  fonksiyonunu çağırdığım yere tekrar dönüyor ve veriye daha sonra erişiyorum. bunu dispatch_async  ile yaptığımızda yani sizin gönderdiğiniz yapıyla düzenlediğimizde sorun hallolur mu?