作者:北京家圆医院999 | 来源:互联网 | 2018-05-13 04:00
报错:Entity:line1:parsererror:Starttagexpected,'<'notfound以下为请求XML,用的是ASIHTTPRequest请求框架,不知错在何处<?xmlversion'1.0'encoding'UTF-8'standalone'yes'?><R...
报错:Entity: line 1: parser error : Start tag expected, '<' not found
以下为请求XML,用的是ASIHTTPRequest请求框架,不知错在何处
com.portal.android.ExecuteAndroidchangeState
请求数据代码:
NSString *kvr = [NSString stringWithFormat:@"",@"",cell.shipNameTextField.text,cargoRemark,self.dockModel.t2,self.berthModel.t2,cargoType,self.cargoModel.t2,self.cargoModel.t1,cell.cargoWeightTextField.text,cell.billInfoTextField.text,@"",cell.delegateTextField.text,@"NODECL",appDelegate.userInfo.ORG_NAME,appDelegate.userInfo.ORG_ID,appDelegate.userInfo.USER_ID,appDelegate.userInfo.USER_NAME,appDelegate.userInfo.USER_ID,appDelegate.userInfo.USER_NAME,self.personModel.t2];
[req sendRequest:@"com.portal.android.ExecuteAndroid" metherName:@"changeState" kvrStr:kvr andTag:4001 andUrl:WebServeUrl];
-
(void)sendRequest:(NSString )classPath metherName:(NSString )metherName kvrStr:(NSString )kvrStr andTag:(NSInteger) tag andUrl:(NSString )url
{
__block ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:url]];
// NSLog(@"%@",WebServeUrl);
NSMutableString *requestXml = [[NSMutableString alloc] init];
[requestXml appendString:@""];
[requestXml appendString:@""];
[requestXml appendString:@""];
NSString *name = [NSString stringWithFormat:@"%@%@",classPath,metherName];
[requestXml appendString:name];
[requestXml appendString:kvrStr];
[requestXml appendString:@""];
[requestXml appendString:@""];
//NSLog(@"%@",requestXml);
NSData *requestData = [requestXml dataUsingEncoding:NSUTF8StringEncoding];
[request appendPostData:requestData];
[request setRequestMethod:@"post"];
//请求执行完的回掉
[request setCompletionBlock:^{
//NSLog(@"Success");
NSData *decompressData = [request responseData];
GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:decompressData options:0 error:Nil];
GDataXMLElement *rootElement = [doc rootElement];
NSArray *result = [rootElement elementsForName:@"result"];
for (GDataXMLElement *response in result) {
NSString *code = [[response attributeForName:@"code"] stringValue];
NSString *msg = [[response attributeForName:@"msg"] stringValue];
//01是成功,其余是错误
if (![code isEqualToString:@"01"]) {
[self showAlert:msg];
} else {
NSArray *datasetArray = [rootElement elementsForName:@"kvdata"];
NSArray *kvadaArray = [rootElement elementsForName:@"dataset"];
GDataXMLElement *data = [kvadaArray objectAtIndex:0];
NSArray *dataArray = [data elementsForName:@"data"];
if ([datasetArray count] > 0) {
[_delegate didReceiveData:datasetArray andTag:tag];
}else{
[_delegate didReceiveData:dataArray andTag:tag];
}
}
}
request = nil;
}];
//异常出现
[request setFailedBlock:^{
//NSLog(@"Failed");
[self showAlert:@"网络请求失败,请稍后再试"];
// [_delegate didFairToReceiveData:nil andTag:tag];
}];
[request startAsynchronous];
}
回复内容:
报错:Entity: line 1: parser error : Start tag expected, '<' not found
以下为请求XML,用的是ASIHTTPRequest请求框架,不知错在何处
com.portal.android.ExecuteAndroidchangeState
请求数据代码:
NSString *kvr = [NSString stringWithFormat:@"",@"",cell.shipNameTextField.text,cargoRemark,self.dockModel.t2,self.berthModel.t2,cargoType,self.cargoModel.t2,self.cargoModel.t1,cell.cargoWeightTextField.text,cell.billInfoTextField.text,@"",cell.delegateTextField.text,@"NODECL",appDelegate.userInfo.ORG_NAME,appDelegate.userInfo.ORG_ID,appDelegate.userInfo.USER_ID,appDelegate.userInfo.USER_NAME,appDelegate.userInfo.USER_ID,appDelegate.userInfo.USER_NAME,self.personModel.t2];
[req sendRequest:@"com.portal.android.ExecuteAndroid" metherName:@"changeState" kvrStr:kvr andTag:4001 andUrl:WebServeUrl];
-
(void)sendRequest:(NSString )classPath metherName:(NSString )metherName kvrStr:(NSString )kvrStr andTag:(NSInteger) tag andUrl:(NSString )url
{
__block ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:url]];
// NSLog(@"%@",WebServeUrl);
NSMutableString *requestXml = [[NSMutableString alloc] init];
[requestXml appendString:@""];
[requestXml appendString:@""];
[requestXml appendString:@""];
NSString *name = [NSString stringWithFormat:@"%@%@",classPath,metherName];
[requestXml appendString:name];
[requestXml appendString:kvrStr];
[requestXml appendString:@""];
[requestXml appendString:@""];
//NSLog(@"%@",requestXml);
NSData *requestData = [requestXml dataUsingEncoding:NSUTF8StringEncoding];
[request appendPostData:requestData];
[request setRequestMethod:@"post"];
//请求执行完的回掉
[request setCompletionBlock:^{
//NSLog(@"Success");
NSData *decompressData = [request responseData];
GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:decompressData options:0 error:Nil];
GDataXMLElement *rootElement = [doc rootElement];
NSArray *result = [rootElement elementsForName:@"result"];
for (GDataXMLElement *response in result) {
NSString *code = [[response attributeForName:@"code"] stringValue];
NSString *msg = [[response attributeForName:@"msg"] stringValue];
//01是成功,其余是错误
if (![code isEqualToString:@"01"]) {
[self showAlert:msg];
} else {
NSArray *datasetArray = [rootElement elementsForName:@"kvdata"];
NSArray *kvadaArray = [rootElement elementsForName:@"dataset"];
GDataXMLElement *data = [kvadaArray objectAtIndex:0];
NSArray *dataArray = [data elementsForName:@"data"];
if ([datasetArray count] > 0) {
[_delegate didReceiveData:datasetArray andTag:tag];
}else{
[_delegate didReceiveData:dataArray andTag:tag];
}
}
}
request = nil;
}];
//异常出现
[request setFailedBlock:^{
//NSLog(@"Failed");
[self showAlert:@"网络请求失败,请稍后再试"];
// [_delegate didFairToReceiveData:nil andTag:tag];
}];
[request startAsynchronous];
}
由于把请求数据加密了,请求回调时处理数据未解密,所以导致了错误
格式没错哦,你用一个支持xml的ide打开一下就可以知道有没有语法错误。。。
请求数据是不是有错误?
能不能把你打印请求数据的代码贴出来