Reputation: 337
This one has me pretty confused. If I put in the following:
NSString *LoginURLString = [NSString stringWithFormat:@"http://dispatch.americantaxi.com:8080/AT/servlet/OnlineOrderServices?command=retrieveCustomerCommonPlaces&customerId=13242134"];
//NSLog output: http://dispatch.americantaxi.com:8080/AT/servlet/OnlineOrderServices?command=retrieveCustomerCommonPlaces&customerId=2314084
And use this in a URL request, it works fine, but I need to make this dynamic, so I have it concatenate the URL string with a new UserID by using the following:
NSString *user = [NSString stringWithFormat:@"%@", [[NSUserDefaults standardUserDefaults]stringForKey:@"CustomerID"]];
//user = [[NSUserDefaults standardUserDefaults] stringForKey:@"CustomerID"];
NSString *LoginURLString = [NSString stringWithFormat:@"http://dispatch.americantaxi.com:8080/AT/servlet/OnlineOrderServices?command=retrieveCustomerCommonPlaces&customerId=%@", user];
//NSLog output: http://dispatch.americantaxi.com:8080/AT/servlet/OnlineOrderServices?command=retrieveCustomerCommonPlaces&customerId=2314084
Here is the rest of my request initializer:
NSString *urlString = LoginURLString;
responseData = [NSMutableData data];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
And the other methods that handle the request:
-(void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
[responseData setLength:0];
}
-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
[responseData appendData:data];
}
-(void) connectionDidFinishLoading:(NSURLConnection *)connection{
// [connection release];
CommonPickUpArray = [[NSMutableArray alloc] init];
CommonLocationInfoArray = [[NSMutableArray alloc] init];
NSString *data = [[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding];
NSLog(@"%@", data);
}
This request never even starts. I really don't understand why. I have tried to output the two strings to the NSLog and either way they look exactly the same. Can anyone explain? Thanks for your help!
Edit: The Connection didFailWithError
method is outputting this:
Error Domain=NSURLErrorDomain Code=-1000 "bad URL" UserInfo=0xf6a6f50 {NSUnderlyingError=0xf6a75d0 "bad URL", NSLocalizedDescription=bad URL}
Output from answer 1:
2012-05-08 13:45:24.959 AmericanTaxi[1295:707] Connection failed with error: bad URL 2012-05-08 13:45:24.960 AmericanTaxi[1295:707] for the URL: (null)
Output of urlString and LoginURLString:
2012-05-08 13:57:40.415 AmericanTaxi[1320:707] LoginURLString: http://dispatch.americantaxi.com:8080/AT/servlet/OnlineOrderServices?command=retrieveCustomerCommonPlaces&customerId=2314084
2012-05-08 13:57:40.417 AmericanTaxi[1320:707] urlstring: http://dispatch.americantaxi.com:8080/AT/servlet/OnlineOrderServices?command=retrieveCustomerCommonPlaces&customerId=2314084
Upvotes: 1
Views: 1194
Reputation: 16124
In your didFailWithError, check the URL and see why it is bad by adding this to your didFailWithError delegate:
NSLog(@"Connection failed with error: %@", [error localizedDescription]);
NSLog(@"for the URL: %@", [[error userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]);
Post the result.
Upvotes: 1