2010-06-05 16 views
0

J'essaie de faire un appel de savon. C'est un appel très basique avec la sortie de l'utilisateur Welcome. La valeur de retour est au format xml. et je reçois l'erreur suivante. quelqu'un peut-il me dire ce que cette erreur signifie.erreur lors de la demande de savon appel

Le code suivant montre la demande de savon et demande après que je l'ai fait

NSString *soapMessage = [NSString 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" 
"<WelcomeXML xmlns=\"http://www.somewebsite.com/phpwebservice/index.php\">\n" 
"<name>" 
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" 
"<message>\n" 
"<name>Hitesh</name>\n" 
"</message>\n" 
"</name>" 
"</WelcomeXML>\n" 
"</soap:Body>\n" 
"</soap:Envelope>\n"]; 

NSLog(@"%@",soapMessage); 

NSURL *url = [NSURL URLWithString:@"http://www.somewebsite.com/phpwebservice/index.php"]; 
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://www.somewebsite.com/phpwebservice/index.php/WelcomeXML" forHTTPHeaderField:@"SOAPAction"]; 
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"]; 
[theRequest setHTTPMethod:@"POST"]; 
[theRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]]; 

Après l'erreur que je reçois:

<?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> 
<SOAP-ENV:Body><SOAP-ENV:Fault><faultcode xsi:type="xsd:string">SOAP-ENV:Client</faultcode><faultactor xsi:type="xsd:string"></faultactor><faultstring xsi:type="xsd:string">error in msg parsing: 
XML error parsing SOAP payload on line 5: Reserved XML Name</faultstring><detail xsi:type="xsd:string"></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope> 

plz me aider. J'ai gaspillé 2 jours sur un code simple comme celui-ci.

Répondre

1

Vous avez une erreur dans la requête SOAP en ligne 5:

"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" 

est dubbled. Pourquoi?

+0

cela est dû au fait que le service Web attend une entrée XML. donc j'ai écrit cette étiquette dans la demande de service web – Jayshree