J'essaie de consommer un service wcf que j'ai publié dans iis sur mon ordinateur local. Le service WCF est à l'intérieur de mon routeur, donc je ne peux accéder au service qu'en dehors du routeur. (Je fais cela en éteignant le wifi sur mon téléphone et je suis en mesure d'atteindre le service). J'essaye d'exécuter une méthode GET.Consommation du service WCF avec Objective C Problème
Le côté serveur code WCF ressemble à ceci:
//Service1.svc.cs
public string GetUsers()
{
var userController = new UserController();
string returnString = userController.GetAllUsers();
return returnString;
}
//IService.cs
[OperationContract]
[WebGet(UriTemplate = "/GetUsers")]
string GetUsers();
// Iphone client
- (IBAction)btnSendRequest:(id)sender
{
NSString *restCallString = [NSString stringWithFormat:@"publicIP/MyService/Service1.svc/GetUsers"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:restCallString]];
[request setHTTPMethod:@"GET"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSError *error = nil;
NSURLResponse *response = nil;
NSData *result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
}
Maintenant, si je change le restCallString à quelque chose comme http://www.apple.com alors ma variable de résultat * va récupérer des données. Je débogue cela dans Xcode sur mon appareil actuel avec le wifi éteint sur mon appareil. En théorie, il devrait se comporter comme quand je vois la méthode de service dans le navigateur de mon téléphone, mais cela ne fonctionne pas. La variable * result renvoie toujours zéro lorsque j'essaie d'atteindre mon service. Si quelqu'un a des conseils ou des conseils, je l'apprécierais vraiment.
Avez-vous Chrome sur iOS, vous pouvez peut-être ajouter l'extension Postman et tester votre capacité à communiquer avec succès le service WCF du téléphone? –