NSError* error = nil; AGSMapServiceInfo* msi; if (((AGSDynamicMapServiceLayer*)layer).credential.authType == AGSAuthenticationTypeNone){ msi = ((AGSDynamicMapServiceLayer*)layer).mapServiceInfo; } else { msi = [[[AGSMapServiceInfo alloc] initWithURL:self.mapView.dynamicLayer.URL credential:self.mapView.dynamicLayer.credential error:&error] autorelease]; } if (error) NSLog(@"Error encountered while fetching legend : %@",error); if(msi.version>=10.01){ msi.delegate = self; [msi retrieveLegendInfo]; }else { NSLog(@"Skipping layer [%@]. ArcGIS Service must be version 10 SP1 or above",msi.URL ); }
NSURL* layerUrl = [((AGSDynamicMapServiceLayer*)layer).URL copy]; //Get the service info NSError* error = nil; AGSCredential* cred = [[AGSCredential alloc] initWithUser:((AGSDynamicMapServiceLayer*)layer).credential.username password:((AGSDynamicMapServiceLayer*)layer).credential.password authenticationType:[AGSCredential isServiceSecured:layerUrl]]; msi = [[AGSMapServiceInfo alloc] initWithURL:layerUrl credential:cred error:&error]; if (error) NSLog(@"Error encountered while fetching legend : %@",error); if(msi.version>=10.01){ msi.delegate = self; [msi retrieveLegendInfo]; }else { NSLog(@"Skipping layer [%@]. ArcGIS Service must be version 10 SP1 or above",msi.URL ); } [layerUrl release]; [cred release];
Rene,
1. Which version of the API are you using? v1.8 or v2.0?
2. Is HTTP authentication Basic or Digest?
3. Is SSL enabled on the server?
Regards,
Nimesh