主要就是封装soap请求消息,然后解析返回的xml,具体的实现请参考附件,下面只列出soap请求的核心代码。
- (void)getOffesetUTCTimeSOAP {
recordResults = NO;
//封装soap请求消息
NSString *soapMessage = [NSString stringWithFormat:
@"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
"<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/\">\n"
"<soap:Body>\n"
"<getOffesetUTCTime xmlns=\"http://www.Nanonull.com/TimeService\">\n"
"<hoursOffset>%@</hoursOffset>\n"
"</getOffesetUTCTime>\n"
"</soap:Body>\n"
"</soap:Envelope>\n", nameInput.text
];
//请求发送到的URL
NSURL *url = [NSURL URLWithString:@"http://www.nanonull.com/TimeService/TimeService.asmx"];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMessage length]];
//对请求信息添加属性,这是必有的,第五句是soap信息。
[theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[theRequest addValue: @"http://www.Nanonull.com/TimeService/getOffesetUTCTime" forHTTPHeaderField:@"SOAPAction"];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]];
//请求
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if(!theConnection)
NSLog(@"theConnection is NULL");
}
分享到:
相关推荐
这里的`setParameterNameX:`方法是用来设置SOAP请求中的参数值的。 发送请求后,你需要实现服务代理的代理方法来处理服务器的响应。例如: ```objc - (void)callServiceDidFinish:(NSData *)responseData { ...
这个库的主要目的是简化iOS应用中的SOAP请求过程,提供一个便捷的API,使得开发者无需深入了解SOAP的底层细节就能进行高效的网络通信。 一、SOAP请求的基本概念 SOAP是一种轻量级的、独立于语言的、基于XML的数据...
在SOAP请求中,我们将使用AFHTTPRequestOperationManager的POST方法来创建请求,然后设置请求体为SOAP消息的XML字符串。 1. **初始化AFHTTPRequestOperationManager**:首先,你需要实例化一个...
首先,我们需要理解SOAP请求的基本结构。SOAP请求通常包括三部分:Envelope、Header和Body。Envelope定义了消息的结构,Header包含了与处理消息相关的元数据,Body则是实际传输的数据内容。在iOS中,我们可以使用...
总的来说,这个压缩包中的源码为我们提供了一个实现iOS应用查询手机号归属地功能的例子,涵盖了Objective-C编程、SOAP请求、网络通信、XML解析等多个技术领域,对于学习和理解iOS网络编程和数据解析有很高的参考价值...
在网络请求中,SOAP请求通常通过HTTP POST方法发送,因为POST可以携带大量数据,适合XML格式的SOAP消息。在iOS开发中,我们可以使用Foundation框架中的`NSURLSession`或者第三方库如AFNetworking来实现HTTP POST请求...
- 在网络请求中,缓存策略决定了如何处理本地存储的缓存数据和服务器的最新数据。例如,`NSURLRequestUseProtocolCachePolicy`是默认策略,会根据协议决定如何使用缓存。其他的策略如`...
8. **成功实例**:压缩包中的“成功实例”可能包含了一个完整的SOAP请求和响应的示例代码,可以帮助开发者更好地理解和实现SOAP通信。可以参考这个实例,了解如何构造请求、解析响应,以及如何处理错误。 总的来说...
压缩包中的`SoapDemo`可能是包含了示例代码或项目的文件,用于演示如何在iOS中实现SOAP POST请求。这个文件可以帮助开发者更好地理解上述理论知识,并提供一个实际运行的环境来测试和调试SOAP通信。 总结来说,SOAP...
通过发送SSDP请求发现设备,然后利用SOAP进行设备控制,可以在iOS应用中创建一个功能完善的DLNA投屏系统。这个过程中可能遇到的挑战包括设备兼容性、网络编程复杂性以及性能优化等问题,而通过学习和实践,开发者...
本篇文章将深入探讨如何使用XMLReader来解析SOAP请求返回的XML数据。 XMLReader是Objective-C中处理XML的一种高效方式,它是基于NSXMLParser的优化实现,提供了逐节点读取XML文档的功能,从而减少了内存消耗,尤其...
在iOS开发中,通常使用Objective-C或Swift语言来实现SOAP请求。在这个例子中,开发者可能创建了一个客户端应用,该应用能够构建SOAP消息并将其发送到一个支持SOAP的服务器,以获取当前的UTC偏移时间。UTC...
这个库包含了SOAP请求的封装,使得开发者能够轻松调用SOAP服务,处理复杂的Web服务交互。 4. **HTTPS与证书**: HTTPS协议提供了安全的网络通信,通过SSL/TLS加密数据。"Web Request for iOS"支持HTTPS,这意味着...
3. **SOAP消息构造**:由于项目涉及到SOAP,开发者需要了解如何构造SOAP请求。这包括创建XML格式的SOAP Header和Body,以及设置正确的HTTP请求头,如Content-Type。 4. **XML解析**:收到SOAP响应后,开发者需要...
3. **Third-party库**:例如SOAPClient,专门用于处理SOAP请求和响应。它们通常提供更高层次的抽象,简化了与SOAP服务的交互。 三、解析流程 1. **接收SOAP消息**:当应用收到SOAP消息时,通常以字符串或NSData...
在iOS应用中,我们可以使用诸如AFNetworking或NSURLSession等网络库来实现SOAP请求。 首先,我们需要了解SOAP请求的基本结构。一个SOAP请求通常包括以下几个部分: 1. **SOAP Envelope**: 包含整个SOAP消息的根元素...
SOAP客户端工具为开发者提供了一个直观的界面,可以直接发送SOAP请求,并接收和解析响应,这对于调试和测试Web服务非常有用。以下是SOAP客户端在iPhone上的主要功能和使用场景: 1. **请求构造**:该工具允许开发者...
- 将生成的代码添加到iOS项目中,并调用对应的方法发送SOAP请求。 - 遇到编译错误时,检查并设置正确的SDK目录路径。 #### 7. 故障排查与优化 - 在开发过程中,可能会遇到各种编译和运行错误,例如"libxml/tree.h ...
本文将深入探讨如何使用`wsdl2objc`工具来实现SOAP请求,以便在Objective-C项目中与SOAP服务进行通信。 `wsdl2objc`是由Salesforce公司开源的一个工具,它能够根据WSDL(Web Service Description Language)文件...