SOAP Web服务 - Java服务器 - iOS客户端 - SudzC发送或接收大文件

时间:2012-09-12 14:18:09

标签: java ios soap sudzc

我的系统:

服务器:JAX WS 2.2.3(-wsgen)生成的Java Soap Web服务

客户端:iOS - SudzC生成的Soap Web服务


我在iOS上使用SudzC与Java Web服务进行通信。我想将NSData文件从iOS客户端上传到Java Server,或者将byte []文件从Java服务器下载到客户端。对于少量数据,Web服务运行正常,但是当数据大于4MB时,存在问题。如果我发送的文件大于4MB,则会发生HTTP内部错误500,或者一切都被卡住,我的应用程序崩溃了。

有什么建议吗?也许,我应该尝试除SudzC以外的其他东西吗?

我知道,为了发送和接收大文件,SOAP有一个名为MTOM的机会。 这将从SOAP消息中提取base64Binary数据,并将其作为单独的二进制http附件打包在MIME消息中,其方式与电子邮件附件类似。 所以我的问题是,如何在iOS客户端上实现这个选项SudzC生成的Objective-C程序代码? 在java服务器端,MTOM选项被激活,但在iOS客户端上我必须实现这个选项吗?!

也许有人可以提供帮助?

2 个答案:

答案 0 :(得分:3)

我使用WSClient ++生成类,从来没有遇到过问题。

http://wsclient.neurospeech.com/

我不喜欢SudzC,当XML返回列表时我有任何问题。

答案 1 :(得分:2)

我使用SudzC上传较大的文件(20 +兆字节),因此问题可能不是来自SudzC。我记得开头时文件上传有问题:服务器不接受超过X字节的任何内容并返回错误。

然而,我所看到的是,在上传大文件时,sudzC存在很多内存问题,所以我切换到wsdl2objc进行文件上传