繁体   English   中英

具有NSData和base64编码的Soap请求

[英]Soap request with NSData and base64 encoding

我正在使用sudzc soap类与远程Web服务进行通信。 大多数请求都有效,但是我在传输数据时遇到问题:

我必须发送一些以base64编码的数据,我通过这种方式分配NsData对象:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"little_amount_of_data" ofType:@"dat"];  
NSData* dummy = [NSData dataWithContentsOfFile:filePath];
[service sendAudioFile:self action:@selector(sendAudioFileHandler:) username: self.username password: self.password fileBytes: dummy numBytes: [dummy base64Encoding].length audioTimestamp: [NSString stringWithFormat:@"%0.f",[[NSDate date]timeIntervalSince1970]]];

SOAP请求看起来正确(正确编码的数据,正确的长度),但是我从服务器接收到此响应(我认为是iis7,我无法访问它):

不可思议的elaborare la richiesta。 --->抵消原产地范围的限制,同时抵销原产地标记和数量的担保。

翻译:

无法处理请求。 --->偏移量和长度超过了数组的限制,或者计数大于源末尾的索引中的项目数。

如果客户端发送一个无效的base64字符串(lenght = 0),则服务器将回复成功语句。

WSDL使用NSData + Base64.h / NSData + Base64.m将字段描述为base64Binary

有什么提示吗? 客户端还是服务器故障?

解决了,问题仍然很严重。 我正在发送编码文件的长度,Web服务希望原始文件的长度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM