2011-07-27 3 views
1

ASIFormDataRequest를 사용하여 wsdl 서비스를 요청하려했지만 제대로 응답하지 않았습니다. 내 잘못이 누구인지 안내해 주시겠습니까?iphone의 ASIFormDataRequest에서 wsdl 사용 방법

#define SIGNON @"http://smile.stanford.edu:8080/SMILE/spring-ws/StudentSignOn.wsdl" 



    NSString *Message = [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" 
          "<stdSignon xmlns=\"http://tempuri.org/\">\n" 
          "<username>%@</username>\n" 
          "<password>%@</password>\n" 
          "</stdSignon>\n" 
          "</soap:Body>\n" 
          "</soap:Envelope>\n",txtUserName.text,txtPassword.text]; 


    NSMutableData *soapdata = [[[NSMutableData alloc] initWithData:[Message dataUsingEncoding:NSUTF8StringEncoding]] autorelease]; 

    ASIFormDataRequest *_ASIFormDataRequest = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:SIGNON]]; 
    [_ASIFormDataRequest addRequestHeader:@"Namespace" value:@"http://stanford.edu/smile/studentsignon/schema"];  
    [_ASIFormDataRequest addRequestHeader:@"Content-Type" value:@"text/xml; charset=utf-8"]; 
    [_ASIFormDataRequest addRequestHeader:@"EndpointURI" value:@"http://stanford.edu/smile/studentsignon"]; 
    [_ASIFormDataRequest setTimeOutSeconds:20]; 
    [_ASIFormDataRequest setPostBody:soapdata]; 



#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_4_0 
    [_ASIFormDataRequest setShouldContinueWhenAppEntersBackground:YES]; 
#endif 
    [_ASIFormDataRequest setDelegate:self]; 
    [_ASIFormDataRequest setDidFailSelector:@selector(asyncFail:)]; 
    [_ASIFormDataRequest setDidFinishSelector:@selector(asyncSuccess:)]; 
    [_ASIFormDataRequest startAsynchronous]; 

답변

0

나는 ASIFormDataRequest을 사용하며 이것이 최상의 네트워킹 프레임 워크라고 생각합니다. 사용하기 쉽습니다. 맞춤 선택기를 삭제하고 NSLog-asyncSuccess: 메소드에 넣으십시오. NSLog가 호출되면

- (void)asyncSuccess:(ASIFormDataRequest *)request { 
    NSLog(@"finished"); 
    // your code from asyncSuccess: 
} 

, 당신은 [request responseString] 또는 [request responseData]를 통해 서버 출력을 얻을 수 있습니다.

+0

[요청 응답 문자열]에서 요청을 받았습니다. – Gnanavadivelu

+0

하지만 문제가 뭐니? 그것은'NULL'입니까? 문제가 무엇입니까? – akashivskyy

+0

HTTP/1.0 404를 찾을 수 없음 X-Cache : local.sdi.local의 MISS 서버 : Apache 만료 : Wed, 27 Jul 2011 09:49:19 GMT X-Cache-Lookup : local.sdi의 MISS입니다. 로컬 : 3128 경유 : 1.0 local.sdi.local (squid/3.0.STABLE13) 프록시 연결 : 닫기 바리 : accept-language, accept-charset 콘텐츠 언어 : en 콘텐츠 형식 : text/html; charset = iso-8859-1 날짜 : Wed, 27 Jul 2011 09:49:19 GMT Accept-Ranges : bytes – Gnanavadivelu

관련 문제