私は、リモートWebサービスと通信するためにsudzc soapクラスを使用しています。 要求のほとんどは動作しますが、私は、データをtrasferring問題が発生しています:NSDataとbase64エンコーディングのSOAPリクエスト
私は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、私はそれへのアクセスを持っていない):
Impossibile elaborareラrichiesta。 --- >オフセットと肺の境界線の境界線と境界線の境界線の境界線。
翻訳:
リクエストを処理できません。 --->オフセットと長さが配列の制限を超えているか、またはカウントがソースの最後にあるインデックスの項目数より多い。
クライアントがvoid base64文字列(lenght = 0)を送信した場合、サーバーはsuccess文で応答します。
WSDLは 私はNSDataの+ Base64.h/NSDataの+ Base64.m
任意のヒントを使用していbase64Binaryのようフィールドを記述する? クライアントまたはサーバーに障害がありますか?
解決済み、問題は長かったです。私は、エンコードされたファイルの長さを送っていた、Webサービスは、元のファイルの長さが欲しい。 – RobCos
@RosCosこの問題が解決した場合は、ソリューションを記述し、正しいものとしてマークする必要があります。 – ThomasW