簡體   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