WCF服务不适用于iPhone

时间:2013-01-24 04:53:27

标签: iphone ios web-services ipad

我有一个WCF服务:

http://parentportal.technologyorg.com/ParentPortal.svc

我必须访问并获取数据。但不幸的是我得到了一些HTML代码。

我的代码如下

-(IBAction)doit:(id)sender{

    NSString *soapMessage = [NSString stringWithFormat:@"<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://parentportal.technologyorg.com/ParentPortal.svc\"><SOAP-ENV:Body><GetDictionary></GetDictionary></SOAP-ENV:Body></SOAP-ENV:Envelope>"];

    NSURL *url = [NSURL URLWithString:@"http://parentportal.technologyorg.com/ParentPortal.svc"];
                  NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
                  NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMessage length]];

                  [theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
                  [theRequest addValue: @"GetStudentTerms" forHTTPHeaderField:@"SOAPAction"];
                  [theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
                  [theRequest setHTTPMethod:@"POST"];
                  [theRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]];
    NSLog(@"%@",theRequest);
                  NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
    if (theConnection) {
     webData = [NSMutableData data] ;
    }
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
    NSLog(@"___didReceiveResponse");
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
    NSLog(@"Status code %d", [httpResponse statusCode]);

    [webData setLength:0];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
    NSLog(@"___didReceiveData");
    [webData appendData:data];
    NSLog(@"%@",webData);
}

- (void) connectionDidFinishLoading:(NSURLConnection *)connection {
    NSLog(@"___connectionDidFinishLoading");
    NSLog(@"DONE. Received Bytes: %d", [webData length]);
    NSString *xmlData = [[NSString alloc]
                         initWithBytes:[webData mutableBytes]
                         length:[webData length]
                         encoding:NSUTF8StringEncoding];

}

如果我NSLog我输出的是某些HTML代码,我不确定会出现什么问题。

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:1)

尝试SudzC基于SOAP的Web服务定义WSDL文件

Code generation用于iPhone开发的Objective-C库。

请按照以下步骤

enter image description here

enter image description here