iOS 实现SOAP协议

最近公司要使用SOAP协议,临时科普了一下

SOAP相关资料 http://www.w3school.com.cn/soap/index.asp

SOAP实践例子 http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo

//    测试我们服务器1.2
//    NSString *soapMsg = [NSString stringWithFormat:
//                         
//                         @"<?xml version=\"1.0\" encoding=\"utf-8\"?>"
//                         "<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">"
//                         "<soap12:Body>"
//                         
//                         "<getUserInfo xmlns=\"http://ULife.Service\">"
//                         "<strPassword>String</strPassword>"
//                         "<strUserID>String</strUserID>"
//                         "</getUserInfo>"
//                         
//                         "</soap12:Body>"
//                         "</soap12:Envelope>"
//                         
//                         ];
//    
//    // 将这个XML字符串打印出来
//    NSLog(@"%@", soapMsg);
//    // 创建URL,内容是前面的请求报文报文中第二行主机地址加上第一行URL字段
//    NSURL *url = [NSURL URLWithString: @"http://192.168.2.236/ULifeService.ULife_Mobile.svc"];
//    // 根据上面的URL创建一个请求
//    NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
//    NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMsg length]];
//    // 添加请求的详细信息,与请求报文前半部分的各字段对应
//    [req addValue:@"application/soap+xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
//    [req addValue:msgLength forHTTPHeaderField:@"Content-Length"];
//    // 设置请求行方法为POST,与请求报文第一行对应
//    [req setHTTPMethod:@"POST"];
//    // 将SOAP消息加到请求中
//    [req setHTTPBody: [soapMsg dataUsingEncoding:NSUTF8StringEncoding]];
//    // 创建连接
//    conn = [[NSURLConnection alloc] initWithRequest:req delegate:self];
//    if (conn) {
//        webData = [NSMutableData data];
//    }

    //    测试验证码的连接1.1
//    NSString *soapMsg = [NSString stringWithFormat:
//                             
//                         @"<?xml version=\"1.0\" encoding=\"utf-8\"?>"
//                         "<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/\">"
//                         "<soap:Body>"
//                         
//                         "<getMobileCodeInfo xmlns=\"http://WebXml.com.cn/\">"
//                         "<mobileCode>String</mobileCode>"
//                         "<userID></userID>"
//                         "</getMobileCodeInfo>"
//                         
//                         "</soap:Body>"
//                         "</soap:Envelope>"
//                             
//                             ];
//    
//    // 将这个XML字符串打印出来
//    NSLog(@"%@", soapMsg);
//    // 创建URL,内容是前面的请求报文报文中第二行主机地址加上第一行URL字段
//    NSURL *url = [NSURL URLWithString: @"http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx"];
//    // 根据上面的URL创建一个请求
//    NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
//    NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMsg length]];
//    // 添加请求的详细信息,与请求报文前半部分的各字段对应
//    [req addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
//    [req addValue:msgLength forHTTPHeaderField:@"Content-Length"];
//    [req addValue:@"http://WebXml.com.cn/getMobileCodeInfo" forHTTPHeaderField:@"SOAPAction"];
//    // 设置请求行方法为POST,与请求报文第一行对应
//    [req setHTTPMethod:@"POST"];
//    // 将SOAP消息加到请求中
//    [req setHTTPBody: [soapMsg dataUsingEncoding:NSUTF8StringEncoding]];
//    // 创建连接
//    conn = [[NSURLConnection alloc] initWithRequest:req delegate:self];
//    if (conn) {
//        webData = [NSMutableData data];
//    }
注意命名空间后面不能加/,除非有特定需求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值