`
逍遥一狂
  • 浏览: 190573 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iPhone调用Web Service示例

 
阅读更多

因为有些Web Service参数要求有顺序,所以参数使用了NSArray

 

+ (NSData *) SoapCall:(NSString *)method  PostData:(NSString *)post
{
    NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:NO];
    NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
    [postData autorelease];
    
    NSString *soapAction = [NSString stringWithFormat:@"%s/%@",SoapPrefix , method  ];
    
    NSURL *url=[[NSURL alloc]initWithString:[ [ NSString alloc ] initWithUTF8String: SoapURL ] ];
    NSMutableURLRequest  *request=[[NSMutableURLRequest alloc]init];
    
    [request setTimeoutInterval: 10 ];
    [request setCachePolicy:NSURLRequestReloadIgnoringCacheData];
    [request setURL: url ] ;
    [request setHTTPMethod:@"POST"]; 
    [request setValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];  
    [request setValue:soapAction forHTTPHeaderField:@"SOAPAction"];
    
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
    [request setHTTPBody:postData];  
    
    
    NSError *err=nil;
    NSData *data=[NSURLConnection sendSynchronousRequest:request
                                       returningResponse:nil 
                                                   error:&err];
    return data ;
}


+ (NSData *)SoapInvoke:(NSString *)method params:(NSArray *)params
{
    NSMutableString * post = [[ NSMutableString alloc ] init ] ;
    [ post autorelease ];
    
    [ post appendString:
     @"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" 
     "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\""
     " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\""
     " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n"
     "<soap:Body>\n" ];
    
    [ post appendString:@"<"];
    [ post appendString:method];
    [ post appendString:@">\n"];
    
    for (NSDictionary *dict in params)
    {
        NSString *value = nil;
        
        NSString *key = [[dict keyEnumerator] nextObject];
        
        if (key != nil)
        {
            value = [dict valueForKey:key];
            
            [ post appendString:@"<"];
            [ post appendString:key];
            [ post appendString:@">"];
            if( value != nil )
            {
                [ post appendString:value];
            }
            else
            {
                [ post appendString:@""];
            }
            
            [ post appendString:@"</"];
            [ post appendString:key];
            [ post appendString:@">\n"];
        }
    }
    
    [ post appendString:@"</"];
    [ post appendString:method];
    [ post appendString:@">\n"];
    
    [ post appendString:
     @"</soap:Body>\n"
     "</soap:Envelope>\n"
     ];
    
    //    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"login" ofType:@"json"];
    //    NSString *test = [NSString stringWithContentsOfFile:filePath];
    NSLog(@"====================request=========================\n%@\n", post);
    
    return [self SoapCall:method PostData:post];
}
 
分享到:
评论
1 楼 jxufezbz 2012-02-06  
这个怎么调用呢?新手求答

相关推荐

    iPhone开发之UIPageControl示例程序

    这个“iPhone开发之UIPageControl示例程序”正是为了帮助开发者理解和应用这一功能。 UIPageControl的基本用法包括以下几个方面: 1. **初始化**:首先,你需要在你的视图控制器中创建一个UIPageControl实例,并将...

    Web Map Service (WMS) 网络地图服务

    Web Map Service (WMS) 网络地图服务 Web Map Service (WMS) 是一种基于 HTTP 的网络地图服务标准,由 Open Geospatial Consortium (OGC) 制定,用于从一个或多个地理信息数据库传输有地理定位的地图图像数据。WMS ...

    iPhone开发入门基础 示例 UICatalog

    【标题】"iPhone开发入门基础 示例 UICatalog" 是一个针对初学者的iOS应用开发教程,重点在于介绍如何使用苹果的UIKit框架创建用户界面。这个教程通过一个名为"UICatalog"的实例项目,展示了多种常见的UI控件及其...

    iphone 新浪微博 示例程序

    综上所述,开发一个iPhone上的新浪微博示例程序涵盖了从认证授权、API调用到用户界面设计、数据管理和网络通信等多个环节,对开发者的技术栈要求较高。通过实践这一示例,开发者不仅能掌握微博平台的接入,还能提升...

    iPhone开发之UIWebView示例程序

    这个示例程序是针对iPhone平台,旨在帮助开发者理解如何有效地使用UIWebView来展示网页数据。通过这个例子,我们可以学习到以下几个关键知识点: 1. **UIWebView的引入**:UIWebView是UIKit框架的一部分,它提供了...

    iphone FMDB 数据库操作示例

    在这个"iphone FMDB 数据库操作示例"中,我们将深入探讨如何利用FMDB进行数据库的创建、查询、插入、更新和删除等基本操作。 首先,让我们了解一下FMDB的基本用法。在项目中引入FMDB库后,你可以通过以下步骤创建一...

    iPhone调用相机或者打开相册获取图片

    iPhone 调用相机或者打开相册获取图片 本篇文章主要讲解了在 iPhone 中如何调用相机或者打开相册获取图片,并可以设置压缩比。通过本文,你将了解到如何使用 UIImagePickerController 获取图片,并进行裁剪处理。 ...

    Windows CE下模拟IPhone滑动效果的示例代码.rar

    在Windows CE平台上,由于硬件和操作系统特性与Apple的iOS(iPhone的操作系统)存在显著差异,因此,模拟iPhone...通过这个压缩包提供的代码示例,开发者可以学习如何在限制资源的环境中创造出与iPhone相似的用户体验。

    原创 iphone 示例 教程

    【标题】:“原创 iPhone 示例教程” 本教程专为初次接触 iPhone 使用的新手设计,旨在提供一个详尽且易懂的学习路径,帮助用户快速掌握 iPhone 的基本操作和实用技巧。通过一系列精心编排的教学材料,您将能够从零...

    iPhone之手势切换图片示例程序

    "iPhone之手势切换图片示例程序"是一个教程,旨在教你如何利用手势识别技术在iPhone应用中实现图片的平滑切换。这个示例程序可能包含了多个步骤,包括设置手势识别器、响应手势事件以及动态更新图片视图。 首先,...

    iOS开发网络篇之Web Service和XML数据解析

    在iPhone和后台系统的通信中,使用Web Service获取服务器数据上最常见的一种形式。 而在Web Service通信中,数据交换格式通常上使用XML数据,XML数据也是软件开发中普遍存在的一种格式, 因此XML解析也就成为项目...

    iPhone官方解析XML示例-XMLPerformance

    本示例"iPhone官方解析XML示例-XMLPerformance"是苹果官方提供的一个Demo,旨在帮助开发者了解如何在iPhone平台上高效地解析XML文档。 首先,让我们来看看XML的基本概念。XML是一种自描述性的语言,它的结构由一...

    iphone web开发 iui插件

    在移动设备领域,尤其是苹果的iPhone,Web开发已经成为构建交互性强、用户体验良好的应用程序的重要途径。iUI是一款专门针对iPhone和类似设备的Web应用程序设计的开源框架,它允许开发者使用HTML、CSS和JavaScript来...

    iphone调用google地图显示

    在iOS开发中,调用Google地图显示是一项常见的需求,尤其对于iPhone应用来说。这个名为"MapDemo"的项目很可能是为了演示如何在iPhone应用中集成并使用Google Maps SDK来显示地图。下面我们将深入探讨这个主题。 ...

    [iPhone源代码]调用摄像头并在照相窗口加上选择框

    总之,这个 `[RyanZhangCamera]` 示例代码展示了如何利用 `AVFoundation` 调用iPhone的摄像头,并在拍照界面上添加可移动的选择框。开发者可以根据这个基础进一步完善功能,例如添加多选框、实时预览裁剪效果等。

    \IOS Client Call Web Service_asix2

    标题中提到的“IOS Client Call Web Service_asix2”暗示了本文档将涉及在iOS环境下通过客户端发起对WebService的调用。这意味着我们将探讨iOS应用如何与远程的网络服务进行交互。WebService是一种基于网络的分布式...

    时间控件 iphone 基于web

    本篇文章将深入探讨如何在iPhone上创建和使用基于Web的时间控件,以及相关的技术细节和示例。 首先,我们需要理解Web页面在iPhone上的运行环境——Safari浏览器或WKWebView。在这些环境中,开发者可以使用HTML5、...

    Service实现仿Iphone浮动窗体和Service回调

    本教程将详细介绍如何利用Service和Activity之间的回调机制来实现这样的仿iPhone浮动窗口。 首先,我们需要理解Service的基本概念。在Android中,Service是一种在后台运行且不与用户交互的应用组件。它可以长时间...

Global site tag (gtag.js) - Google Analytics