2

私のシステム:

サーバー: JAX WS 2.2.3 (-wsgen) によって生成された Java Soap Web サービス

クライアント: iOS - SudzC によって生成された Soap Web サービス


iOS で SudzC を使用して、Java Web サービスと通信しています。iOS クライアントから Java サーバーに NSData ファイルをアップロードするか、Java サーバーからクライアントに byte[] ファイルをダウンロードします。少量のデータの場合、Web サービスは正常に動作しますが、データが 4MB を超えると問題が発生します。4MB を超えるファイルを送信すると、HTTP 内部エラー 500 が発生するか、すべてがスタックしてアプリケーションがクラッシュします。

助言がありますか?おそらく、SudzC 以外のものを試す必要がありますか?

大きなファイルを送受信するために、SOAP には MTOM と呼ばれる機会があることを知っています。これにより、SOAP メッセージから base64Binary データが抽出され、電子メールの添付ファイルと同様の方法で、MIME メッセージ内の個別のバイナリ http 添付ファイルとしてパッケージ化されます。だから私の問題は、iOS クライアント SudzC で生成された Objective-C プログラム コードにこのオプションをどのように実装できるかということです。Java サーバー側では MTOM オプションが有効になっていますが、iOS クライアントではこのオプションを実装する必要がありますか?!

おそらく誰かが助けることができますか?

4

2 に答える 2

3

私は WSClient++ を使用してクラスを生成しましたが、問題はありませんでした。

http://wsclient.neurospeech.com/

私は SudzC が好きではありません。XML の戻り値にリストのリストがあると問題が発生します。

于 2012-09-12T18:12:53.483 に答える
2

私はSudzCを使用してより大きなファイル(20メガバイト以上)をアップロードしたので、問題はおそらくSudzCに起因するものではありません。最初にファイルのアップロードに問題があったことも覚えています。サーバーはXバイトを超えるものを受け入れず、エラーを返していました。

しかし、私が見たのは、大きなファイルをアップロードするときにsudzCのメモリに多くの問題があるため、ファイルのアップロードをwsdl2objcに切り替えたということです。

于 2012-09-12T16:35:46.303 に答える