報錯: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開啟一下就可以知道有沒有語法錯誤。。。
請求資料是不是有錯誤?
能不能把你列印請求資料的代碼貼出來