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

标签 java ios soap sudzc

我的系统:

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

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


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

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

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

也许有人可以帮忙?

最佳答案

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

http://wsclient.neurospeech.com/

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

关于java - SOAP Web 服务 - Java 服务器 - iOS 客户端 - SudzC 发送或接收大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12390265/

相关文章:

java - 在 kafka 流中使用 kafka connect json api 消费 JSON 值 : JAVA

iOS swift 如何在需要返回值的函数内等待异步任务

c# - 如何在 WCF 服务响应中正确实现自定义 soap 1.2 header 和 WS-Addressing

java - 更改 JTable 非内容背景颜色

java - 从抽象产品列表中提取具体产品的子列表

java - 错误 java.lang.OutOfMemoryError : GC overhead limit exceeded

ios - 容器边界内的 UIContainer viewcontroller segue

ios - 使用 Xcode 生成 .IPA

java - Spring 配置文件配置

javascript - {SOAP UI} 有没有办法从项目拆卸中调用一个测试用例步骤