쏩은 XML이다. 삼성에서도 진저리 나게 했는데...

십년 이상 더 보네... JSON 으로 가자 ㅠㅠ

 

- (NSInteger)download_holdpoint {
    HttpRequest* httpJob = nil;
    NSInteger ret = 0;
    @try {
            //---------------------------------------------
            // 전송 SQL문자열을 생성하여 추가한다.
            //---------------------------------------------
            XMLRequest* xmlRequest = [[XMLRequest alloc]init];
        
     
            
            [xmlRequest addFetchSQL:[NSString stringWithFormat:@"<reqhead method='hptype' id='%@'><devicespec platform='ios' line1number='' deviceid='' ver='%@' /></reqhead><reqbody><data cd_site='%@' /></reqbody>"
                                     ,GlobalVar.globalVar.userInfo.userId
                                     ,[GlobalVar currentBundleVersion]
                                     //                                 ,[GlobalVar loadFromUserDefaults:@"udglobalCDSite"] //,mSiteCd/
                                     ,[GlobalVar loadFromUserDefaults:@"udglobalCDSite"]
                                     ]];
            
            //---------------------------------------------
            // 추가된 요청 SQL을 이용하여 송신 XML 문자열을 생성한다.
            //---------------------------------------------
            NSString* sRequestXML = [xmlRequest makeXML];
            NSLog(@"download_Siteeeeeeeeeeeeeeeee sRequestXML:%@", sRequestXML);
            
            //---------------------------------------------
            // 서버에 전송하여 요청결과 XML을 수신한다.
            //---------------------------------------------
            httpJob = [[HttpRequest alloc] initWithURL:SERVERURL timeOut:60];
            NSString* sReceivedXML = @"";
            
        NSRange range = [SERVERURL rangeOfString:@"salesbstest"];
        if(range.location == NSNotFound) { testbed = false; }
        else { testbed = true; }
        
        if(testbed) {
            sReceivedXML = [httpJob requestUrl:sRequestXML];
            NSLog(@"hptype sReceivedXML:%@", sReceivedXML);
            NSData *data = [sReceivedXML dataUsingEncoding:NSUTF8StringEncoding];
            [self saveDataWithData:data withFileName:@"hp002.txt"];
        } else {
            NSString *path = [[NSBundle mainBundle] pathForResource:@"hp001" ofType:@"txt"];
            NSLog(@"local Path: %@",path);
            NSData *returnData=[NSData dataWithContentsOfFile:path];
            NSLog(@"NSData: %@", returnData);
            sReceivedXML = [[NSString alloc]initWithData:returnData encoding:NSUTF8StringEncoding];
            NSLog(@"str of NSData: %@", sReceivedXML);
        }
            
        NSLog(@"hptype2222 sReceivedXML:%@", sReceivedXML);
            //---------------------------------------------
            // 에러가 발생하였다면
            //---------------------------------------------
            if ( nil == sReceivedXML )
            {
                //[self checkErrorMessage: error];
                [GlobalVar alertMsgOKWithTitle:@"mBASS" message:@"자료 받기[현장정보]에 실패하였습니다."];
                return -1;
            }
        
        //---------------------------------------------
        // 수신한 XML전문을 parsing 한다.
        //---------------------------------------------
        NSMutableArray *list = [NSMutableArray arrayWithCapacity:0];
        NSString* sResult = [XmlBizParser parsehptype:sReceivedXML array:list];
        /*
         if (0 == [list count]) {
         [GlobalVar alertMsgOKWithTitle:@"mBASS" message:@"권한 현장이 없습니다."];
         return -1;
         }
         */

        //---------------------------------------------
        // parsing중 에러가 발생하였다.
        //---------------------------------------------
        if ( 0 != sResult.length )
        {
            //[self 에러처리함수: sResult ];
            [GlobalVar alertMsgOKWithTitle:@"mBASS" message:sResult wait:YES];
            //[GlobalVar alertMsgOKWithTitle:@"mBASS" message:@"로그인에 실패하였습니다."];
            return -1;
        }

        SqlUtils *db = [[SqlUtils alloc] init];
        [db insertTable_DDTBT_HPTYPE:list];
        
    } @catch (NSException * e) {
        //[self 에러처리함수:[e reason]];
        [GlobalVar alertMsgOKWithTitle:@"mBASS" message:[e reason]];
        return -99;
    }
//    //**********************************************************************
//    // end
//    //**********************************************************************
    return ret;
}



 

 

+ Recent posts