iphone 访问SOAP

本文介绍了一个用于封装SOAP请求的方法CreateSoapRequest,该方法接收请求的外部WebService地址和XML格式的请求字符串作为参数,并创建了一个包含适当HTTP头部的NSURLRequest对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

封装SOAP请求

#define AW_APP_AWWAPIURL @"http://..." /******************************************************************************** *params: *soapUrl:请求的外部web service的地址及function *requestStr:发送请求的字符串,xml的SOAP格式 **********************************************************************************/ - (NSURLRequest*) CreateSoapRequest : (NSString*) soapUrl : (NSString*) requestStr { NSString* urlPath = [[NSString alloc] initWithFormat:@"%@%@", AW_APP_AWWAPIURL, soapUrl]; NSURL* url = [[NSURL alloc] initWithString:urlPath]; NSLog(requestStr); NSData* requestData = [requestStr dataUsingEncoding: NSASCIIStringEncoding]; NSString* requestDataLengthString = [[NSString alloc] initWithFormat:@"%d", [requestData length]]; NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url]; [request setHTTPMethod:@"POST"]; [request setHTTPBody:requestData]; [request setValue:@"application/soap+xml" forHTTPHeaderField:@"Content-Type"]; [request setValue:requestDataLengthString forHTTPHeaderField:@"Content-Length"]; [request setTimeoutInterval:30.0]; [urlPath release]; [url release]; [requestDataLengthString release]; //[request release]; return request; }

XML的SOAP传输格式

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing"> <s:Header> <a:Action s:mustUnderstand="1">http://tempuri.org/IAWWAPI/SendEmailToAccount</a:Action> <a:MessageID>urn:uuid:64babe05-7058-43d6-97ce-797fce6a02ec</a:MessageID> <a:ReplyTo> <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address> </a:ReplyTo> <a:To s:mustUnderstand="1">http://www.anglerweb.com:8000/awwapi.svc</a:To> </s:Header> <s:Body> <SendEmailToAccount xmlns="http://tempuri.org/"> <intAccountId>%d</intAccountId> <strFrom>%@</strFrom> <strSubject>%@</strSubject> <strMessage>%@</strMessage> <pKey>254</pKey> </SendEmailToAccount> </s:Body> </s:Envelope>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值