Soap

soap

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
- ( IBAction )doQuery:( id )sender {
     NSString *number = phoneNumber .text ;
     NSString*paw = phonepaw .text ;
     // 设置我们之后解析XML时用的关键字,与响应报文中Body标签之间的getMobileCodeInfoResult标签对应
     matchingElement = @"getUserCheck" ;
     // 创建SOAP消息,内容格式就是网站上提示的请求报文的主体实体部分
     NSString *soapMsg = [ NSString stringWithFormat :
                          @"<?xml version=\" 1 .0 \" encoding=\"utf- 8 \"?>"
                          "<soap 1 2 : Envelope "
                          "xmlns:xsi=\"http: //www.w3.org/2001/XMLSchema-instance\" "
                          "xmlns:xsd=\"http: //www.w3.org/2001/XMLSchema\" "
                          "xmlns:soap 1 2 =\"http: //www.w3.org/2003/05/soap-envelope\">"
                          "<soap 1 2 :Body>"
                          "<getUserCheck>"
                          "<strUserName>%@</strUserName>"
                          "<strPassWord>%@</strPassWord>"
                          "<strMacAddress>%@</strMacAddress>"
                          "</getUserCheck>"
                          "</soap 1 2 :Body>"
                          "</soap 1 2 :Envelope>", number,paw, @"" ];
     
     // 将这个XML字符串打印出来
     NSLog( @"%@" , soapMsg);
     // 创建URL,内容是前面的请求报文报文中第二行主机地址加上第一行URL字段
     NSURL *url = [ NSURL URLWithString : @"http://xxx.xxx.xxx.xxx:8001/WellService.asmx" ];
     // 根据上面的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 :NSUTF 8 StringEncoding]];
     // 创建连接
     conn = [[ NSURLConnection alloc ] initWithRequest :req delegate : self ];
     if (conn) {
         webData = [ NSMutableData data ];
     }
}

  • ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    // 完成接收数据时调用
    -( void ) connectionDidFinishLoading :( NSURLConnection *) connection {
         NSString *theXML = [[ NSString alloc ] initWithBytes :[webData mutableBytes ]
                                                    length :[webData length ]
                                                  encoding :NSUTF 8 StringEncoding];
         
         // 打印出得到的XML
         NSLog( @"=======%@" , theXML);
         // 使用NSXMLParser解析出我们想要的结果
         xmlParser = [[ NSXMLParser alloc ] initWithData : webData ];
         [xmlParser setDelegate : self ];
         [xmlParser setShouldResolveExternalEntities : YES ];
         [xmlParser parse ];
         
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值