2012-04-27 4 views
0

저는 원격 웹 서비스와 통신하기 위해 sudzc soap 클래스를 사용하고 있습니다. 요청의 대부분은하지만 난 문제 trasferring 데이터 겪고있어 작품 : SOAP 요청 잘 보이는NSData 및 base64 인코딩을 사용한 비누 요청

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]]]; 

(: 내가 base64로 인코딩 된 일부 데이터를 전송했습니다

을, 나는있는 NSData이 방법을 객체 할당 올바르게 인코딩 된 데이터, 올바른 길이)하지만이 서버 (iis7 생각, 나는 그것에 액세스 할 수없는) 응답을 받고 있어요 :

Impossibile elaborare la richiesta. --- > 오프셋과 폐색의 경계선은 한계점을 넘어서고 있습니다.

번역 :

요청을 처리 할 수 ​​없습니다. ---> 오프셋 및 길이가 배열의 한계를 초과하거나 개수가 소스 끝에있는 인덱스의 항목 수보다 많습니다.

클라이언트가 void base64 문자열 (길이 = 0)을 보내면 서버는 success 문으로 응답합니다.

은 WSDL은 내가있는 NSData + Base64.h /을 NSData + Base64.m

어떤 힌트를 사용하고 base64Binary 인으로 필드를 설명? 클라이언트 또는 서버에 결함이 있습니까?

+1

문제가 해결되었습니다. 나는 인코딩 된 파일의 길이를 보내고 있었고, 웹 서비스는 원본 파일의 길이를 원했다. – RobCos

+0

@RosCos이 문제가 해결되면 솔루션을 작성하고 올바른 솔루션으로 표시해야합니다. – ThomasW

답변

0

문제가 해결되었습니다. 나는 인코딩 된 파일의 길이를 보내고 있었고, 웹 서비스는 원본 파일의 길이를 원했다.

관련 문제