wsdl2objc是一个开源库,根据wsdl将web service转化成objc的接口和数据结构。
调用示例:
- (IBAction)buttonPressed:(id)sender {
LocalTimeSoapBinding *binding = [[LocalTime LocalTimeSoapBinding] initWithAddress:@"http://www.ripedevelopment.com/webservices/LocalTime.asmx"];
binding.logXMLInOut = YES; // to get logging to the console.
LocalTime_LocalTimeByZipCode *request = [[LocalTime_LocalTimeByZipCode alloc] init];
request.ZipCode = @"29687"; // insert your zip code here.
LocalTimeSoapBindingResponse *resp = [binding LocalTimeByZipCodeUsingParameters:request];
for (id mine in resp.bodyParts) {
if ([mine isKindOfClass:[LocalTime_LocalTimeByZipCodeResponse class]]) {
field.text = [mine LocalTimeByZipCodeResult];
}
}
[request release];
}
控制台输出:
OutputHeaders:
{
"Content-Length" = 466;
"Content-Type" = "text/xml; charset=utf-8";
Host = "www.ripedevelopment.com";
SOAPAction = "http://www.ripedev.com/LocalTimeByZipCode";
"User-Agent" = wsdl2objc;
}
OutputBody:
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:LocalTime="http://www.ripedev.com/" xsl:version="1.0">
<soap:Body>
<LocalTime:LocalTimeByZipCode>
<LocalTime:ZipCode>29687</LocalTime:ZipCode>
</LocalTime:LocalTimeByZipCode>
</soap:Body>
</soap:Envelope>
ResponseStatus: 200
ResponseHeaders:
{
"Cache-Control" = private;
Connection = close;
"Content-Encoding" = gzip;
"Content-Length" = 233;
"Content-Type" = "text/xml; charset=utf-8";
Date = "Sat, 21 Jul 2012 06:52:05 GMT";
Expires = "Sat, 21 Jul 2012 06:52:35 GMT";
Server = "Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8e-fips-rhel5 mod_mono/2.6 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_jk/1.2.28 mod_perl/2.0.4 Perl/v5.8.8";
Vary = "Accept-Encoding,User-Agent";
"X-AspNet-Version" = "2.0.50727";
}
ResponseBody:
<?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><LocalTimeByZipCodeResponse xmlns="http://www.ripedev.com/"><LocalTimeByZipCodeResult>7/21/2012 2:52:05 AM</LocalTimeByZipCodeResult></LocalTimeByZipCodeResponse></soap:Body></soap:Envelope>
分享到:
相关推荐
在实际应用中,使用WSDL2Objc的步骤大致如下: 1. 获取WSDL文件:Web服务提供者通常会提供一个WSDL文件,描述服务的接口。 2. 安装WSDL2Objc:下载并安装这个工具,确保它在系统的PATH环境变量中可用。 3. 转换WSDL...
4. **处理SOAP消息**:SOAP(Simple Object Access Protocol)是Web服务常用的一种通信协议,WSDL2ObjC会根据WSDL中的SOAP绑定生成对应的SOAP消息构建和解析代码。 5. **集成与使用**:生成的Objective-C代码可以...
2. **运行WSDL2Objc**:然后,使用WSDL2Objc工具将这个WSDL文件转换成Objective-C代码。这个工具会生成一系列的类,这些类封装了与Web服务交互所需的逻辑。 3. **导入生成的代码**:将生成的Objective-C文件添加到你...
- **兼容性**:确保WSDL文件是有效的,且所使用的SOAP版本(如1.1或1.2)与WSDL2ObjC.app支持的版本一致。 - **安全性**:如果SOAP服务需要身份验证,需要在生成的代码中添加相应的认证信息。 - **异常处理**:生成...
This project is a replacement for Apple's WSMakeStubs utility and WS-Core. mac, soap, cocoa, webservicescore, wsdl, xslt, osx, xml, nsxml, cfnetwork, carbon
在iOS开发中,如果你需要与Web服务进行交互,尤其是使用SOAP(Simple Object Access Protocol)协议时,`wsdl2obj` 是一个非常有用的工具。SOAP是一种XML格式的协议,用于在分布式环境中交换结构化和类型化的信息。...
安装好WSDL2OBJC后,使用它来处理WSDL文件。将你的WSDL服务URL输入到工具中,它会生成一系列Objective-C类,这些类封装了与服务交互所需的所有方法。生成的代码通常包括一个服务代理类和服务操作类。服务代理类用于...
根据提供的文件名“WSDL2ObjC.app”,这似乎是一个将WSDL描述转换为Objective-C代码的工具,适用于iOS和macOS开发。这类工具能够帮助Objective-C开发者快速创建与Web服务的接口,生成的代码可以直接在Xcode项目中...
- 使用WSDL2ObjC工具根据WSDL生成iOS端可以调用的代码。 - 配置iOS项目的Build Settings,包括添加libxml2支持和设置正确的头文件搜索路径。 - 将生成的代码添加到iOS项目中,并调用对应的方法发送SOAP请求。 - 遇到...
本篇文章将介绍如何在iOS中调用WebService(SOAP接口),主要分为两种方法:一是使用WSDL2ObjC工具生成Objective-C类,二是通过网络请求直接解析XML响应。 ### 方法一:使用WSDL2ObjC工具 1. **获取WSDL文件**:...