Comment puis-je appeler un service Web .net à partir d'une application iPhone Objective C?Appel du service Web .Net à partir de l'objectif C
2
A
Répondre
5
Ce service en ligne vous apportera .NET WSDL et créera des stubs Objective-C à utiliser dans votre application iPhone.
1
(s'il vous plaît corriger le cas de codage dans votre XCODE) Voici le code que vous devrez mettre en œuvre l'un de vos fonctions dire -(void) viewDidLoad{}
- D'abord, vous devez appeler le web service et puis peu de ses délégués
- Deuxièmement, lorsque vous recevez des données, vous devez l'analyser car les données sont au format XML formel, utilisez XML parse (NSXMLparser).
- Une fois que vous avez des données, vous pouvez l'afficher ou ce que vous voulez.
est Ci-dessous l'exemple de code pour obtenir BONJOUR TOUT LE MONDE retour chaîne de service Web:
- (void)viewDidload
{
NSMutableString *soapMessage = [NSMutableString stringWithFormat:@"<?xml version=\"1.0\"encoding=\"utf-8\"?>\n"
"<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/\">\n"
"<soap:Body>\n"
"<HelloWorld xmlns=\"http://Helloworldservice.org/\" />\n"
"</soap:Body>\n"
"</soap:Envelope>"];
//You can get soap Message from web service simply when you run it it shows the request message and response message in XML format copy request message then paste it in XCODE. (Notice please check for escape sequence that is \")
// The URL of the your web service
NSURL *url = [NSURL URLWithString:@"http://Helloworldservice/service.asmx"];
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://HelloWorld.org/HelloWorld" forHTTPHeaderField:@"Soapaction"];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if (theConnection) //Means if the connection is active
{
}
else
{
NSLog(@"theConnection is NULL");
}
}
//NOW You have to implement some of delegates required for connection
//Recieve data defined when your connection do recieve some data from .NET web service.
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
NSString* strin=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
//Now as we get data in XML format time to parse the data into some meaningful form use NSXMLPARSER.
NSXMLParser *parser=[[NSXMLParser alloc]initWithData:data];
//Delegate should be defined as now make it self it will probably give a warning message so execute it no problem but if u want this warning to be removed just ass delegate in .h file like @interface Web_Service_testViewController : UIViewController<NSXMLParserDelegate> {}
[parser setDelegate:self];
//here actual parsing is done.
[parser parse];
//Now time to release parse object from memory.
[parser release];
}
//If connection fails just in case OK.
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{}
//Called when connection has finished. Mostly we place the data in this delegate we require to be called after web service i hope it is understandable to u :-)
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
[connection release];
}
//Now we have to implement some of the delegates of NSXMLPARSER Quite simple
//For a file reading.
- (void)parserDidStartDocument:(NSXMLParser *)parser{
}
//When parsing is started on the element obtained from web service for the moment leave it blank.
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
}
//When parsing is finished.
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
}
//This is the main delegate that can return a string format result.
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)astring
{
//Say you have a NSString object named as "mymessage"
mymessage=string;
//this "astring" is that string which is returned from delegate
}
//Your web service is finished it is totally implemented code no errors :-). Quite easy isn't it?
Questions connexes
- 1. Appel du service Web ASP.net à partir de l'application C#
- 2. Appel du service Web .Net avec Php
- 3. Appel de service Web à partir de C++
- 4. Appel de l'encapsuleur du service Web COM .NET à partir d'Excel
- 5. Appel service Web ASP.NET à partir d'ASP à l'aide SOAPClient
- 6. Appel dynamique d'un service Web sans création d'artefacts à partir du service Web Jax-ws
- 7. Appel d'un service Web à partir d'un service Windows
- 8. Appel d'un service Web à partir d'une application Windows
- 9. Appel d'un service Web à partir de Seam
- 10. C# - Mapper un lecteur réseau à partir du service Web
- 11. Comment renvoyer un DataTable à partir du service Web .Net?
- 12. Appel d'un service Web à partir de php?
- 13. appel de service Web renvoie html
- 14. Appel de service Web lent (et service WCF) à partir de Windows 7
- 15. Appel du service Web SQL Server Endpoint
- 16. Appel d'un service Web à partir d'un sous-dossier
- 17. Appel du service Web d'une autre classe
- 18. Appel d'un service Web Java à partir d'un client dot net
- 19. Retour de lignes à partir d'un service Web .NET
- 20. Appel d'un service Web C# à partir de PHP avec un paramètre long
- 21. Retour tableaux à partir du service Web .net au service Web Java ME entraîne l'erreur de compilation de stub?
- 22. Appel d'un objet COM à partir de .Net C#
- 23. Un service Web .NET instancié avec chaque appel de méthode?
- 24. Appel du service WCF à partir d'un javascript distant
- 25. Appel d'une méthode Web à partir de C++
- 26. Autorisations erreur lors de l'accès à MSMQ à partir du service Web ASP .Net
- 27. Ajax (appel de service web) avec MVC
- 28. Comment accéder aux objets ASP.NET intrinsèques à partir du code de service Web (C#)?
- 29. Sécurité .NET Web Service
- 30. Comment appeler un service Web .NET à partir d'Android?
La meilleure chose jamais – Bryan
Juste une remarque: sudzc a des problèmes avec WSDLs de service WPF, mais il semble gérer les ASMX . – Mortoc
@ChulBulPandey Pouvez-vous expliquer s'il vous plaît? Le site est toujours actif et la source est toujours disponible sur GitHub ... –