分析器错误错误域= NSXMLParserErrorDomain代码= 4“操作无法完成。” [英] Parser error Error Domain=NSXMLParserErrorDomain Code=4 "The operation couldn’t be completed."

查看:124
本文介绍了分析器错误错误域= NSXMLParserErrorDomain代码= 4“操作无法完成。”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在调用以下网络服务:

I am calling a web service as below:

-(void)verifyEmailAndPasswordWebservices
{    
 NSString  *MD5Password = [ self MD5];
 NSLog(@"text field password %@",txt_Password.text);
 NSLog(@"converted password %@",MD5Password);    

NSString *soapMsg =[NSString stringWithFormat:
                    @"<?xml version=\"1.0\" encoding=\"utf-8\"?>"
                    "<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/\" xmlns:tns=\"http://php:8393/includes/webservice\">"
                    "<SOAP-ENV:Body>"
                    "<ns1:LoginUserRequest xmlns:ns1=\"http://schemas.xmlsoap.org/soap/envelope/\">"                        
                    "<email xsi:type=\"xsd:string\">%@</email>"
                    "<pass xsi:type=\"xsd:string\">%@</pass>"                   
                    "</ns1:LoginUserRequest>"
                    "</SOAP-ENV:Body>"
                    "</SOAP-ENV:Envelope>",txt_EmailOrMobile.text,MD5Password];



//---print it to the Debugger Console for verification---
NSLog(@"soapMsg..........%@",soapMsg);

NSURL *url = [NSURL URLWithString:@"http://10.0.0.115:8393/includes/webservice/login1.php"];
req = [NSMutableURLRequest requestWithURL:url];

//---set the headers---

NSString *msgLength = [NSString stringWithFormat:@"%d",[soapMsg length]];
[req addValue:@"application/soap+xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[req addValue:@"http://10.0.0.115/includes/webservice/login1.php/LoginUser" forHTTPHeaderField:@"SoapAction"];
[req addValue:msgLength forHTTPHeaderField:@"Content-Length"];

//---set the HTTP method and body---

[req setHTTPMethod:@"POST"];
[req setHTTPBody: [soapMsg dataUsingEncoding:NSUTF8StringEncoding]];

// [activityIndicator startAnimating];

conn = [[NSURLConnection alloc] initWithRequest:req delegate:self];
if (conn)
{
    webData = [[NSMutableData data] retain];
}   
}

当我收到回复时,它会给我以下错误:

When i get the response it give me following error:

完成。收到的字节数:422
显示XML(null)
解析器错误错误域= NSXMLParserErrorDomain代码= 4操作无法完成。(NSXMLParserErrorDomain错误4。)

DONE. Received Bytes: 422 shows the XML (null) Parser error Error Domain=NSXMLParserErrorDomain Code=4 "The operation couldn’t be completed. (NSXMLParserErrorDomain error 4.)"

我在互联网上搜索了很多。但是找不到任何东西。请给我任何帮助。

I've searched quite a bit on the internet. But not able to find anything. Any help on this please.

推荐答案

NSXMLParserErrorDomain错误4 表示XML解析器被赋予一个空文档。这告诉我输入是null,或者你已经设法在给它给解析器之前改变它。

NSXMLParserErrorDomain error 4 means that the XML parser was given an empty document. That suggests to me that the input was either null, or you've managed to change it before it's given to the parser.

我更好地查看了你的代码。问题不是你没有得到回应。只是你没有等待它。您发送的请求是异步的,但您正在尝试立即填充 webData 变量(即同步)。

I had a better look at your code. The problem isn't that you aren't getting a response. It's just that you're not waiting for it. The request you sent is asynchronous, but you're trying to fill your webData variable straight away (i.e. synchronously).

这篇关于分析器错误错误域= NSXMLParserErrorDomain代码= 4“操作无法完成。”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆