2

My system:

Server: Java Soap Web Service generated by JAX WS 2.2.3 (-wsgen)

Client: iOS - Soap Web Service generated by SudzC


I am using SudzC on iOS to communicate with a Java web service. I want to upload NSData files from the iOS client to the Java Server or download byte[] files from the Java server to the client. For small amounts of data the web service runs fine, but when the data is greater than 4MB, there are problems. If i send a file which is greater than 4MB a HTTP Internal Error 500 occurred or everything get stuck and my application crashes.

Any suggestions? Perhaps, should I try something else than SudzC?

I know, that to send and receive large files, SOAP has an opportunity called MTOM. This extracts the base64Binary data from the SOAP message and packages it as separate binary http attachments within the MIME message, in a similar manner to e-mail attachments. So my problem is, how can i implement this option on the iOS client SudzC generated objective-C program code? On the java server side the MTOM option is activated, but on the iOS client i have to implement this option?!

Perhaps someone can help?

user2017
  • 143
  • 1
  • 2
  • 10
  • I don't know, but perhaps it is easier to use a Java REST web service instead of SOAP? I just want to send images or videos as byte array and with MIME type from the iOS client to the Java server and with authentication. – user2017 Sep 13 '12 at 10:12

2 Answers2

3

I use WSClient++ to generate the classes and never had a problem.

http://wsclient.neurospeech.com/

I don't like SudzC, I have any problems when XML return has list of list.

Salmo
  • 1,788
  • 1
  • 18
  • 29
2

I've used SudzC to upload larger files (20 + megabytes) so the issue probably isn't from SudzC. I remember having an issue with the file upload at the beginning aswell : the server didn't accept anything over X bytes and was returning an error.

However, what i have seen is that sudzC has a lot of issues with memory when uploading large files so i switched to wsdl2objc for file upload

TegRa
  • 519
  • 3
  • 10