iOS 与WebService交互

调用WebService 接口使用的是 WSDL2Objc 工具
下载地址:http://download.csdn.net/download/dhq199023/7553679
例如后台的接口地址 xxxx.168.1.1:8080/MyService?wsdl
Firefox浏览器 在地址栏中输入 xxxx.168.1.1:8080/MyService?wsdl打开之后,将页面另存为 .wsdl 文件;

WSDL2Objc 工具使用直接上图

iOS 与WebService交互_第1张图片
6599ADC9-8441-40EF-90D0-37198B99212F.png

点击 Parse WSDL 解析之后生成如下
iOS 与WebService交互_第2张图片
A9E2020F-96C7-43B3-82BA-738131E848FF.png

注意生成的代码环境是MRC,如果是ARC环境 Build Phases->Complie Sources 在对应的 .m 添加-fno-objc-arc字段;

生成的OC类的使用

  //绑定请求接口地址  MyService webService的名称
    MyServiceHttpBinding *binding = [[MyServiceHttpBinding alloc]initWithAddress:@"xxxx.168.1.1:8080/MyService"];//接口地址
    
    binding.logXMLInOut = YES;//可以直接copy
    
    //MyService_userRegist (举例)这是注册接口 根据后台接口名称生成的对应的类
    MyService_userRegist *parameters = [[MyService_userRegist alloc]init];//接口中方法初始化
    
    parameters.in0 = @"参数";//我们是字典转换成JSON字符串
    
    MyServiceHttpBindingResponse *resp = [binding userRegistUsingParameters:parameters];//调用方法
    
    if (resp.error) {
        
        if (resp.error.code == -1009) {
            //  [self mBprogressHUD:@"网络不给力,请检查网络设置"];
        
        }
    }
    
    for (id min in resp.bodyParts) {
        
        if ([min isKindOfClass:[MyService_userRegistResponse class]]) {
            MyService_userRegistResponse *response =(MyService_userRegistResponse*)min;
            
            response.out_//服务器返回的数据
        }
        
    }

你可能感兴趣的:(iOS 与WebService交互)