我的系统:
服务器: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客户端上我必须实现这个选项吗?!
也许有人可以提供帮助?
答案 0 :(得分:3)
答案 1 :(得分:2)
我使用SudzC上传较大的文件(20 +兆字节),因此问题可能不是来自SudzC。我记得开头时文件上传有问题:服务器不接受超过X字节的任何内容并返回错误。
然而,我所看到的是,在上传大文件时,sudzC存在很多内存问题,所以我切换到wsdl2objc进行文件上传