0

ノード マシンに展開された「checkResult」サービスは、ノード上の結果を、要求を送信するクラスタ コントローラに返すように定義されています。日次ログ ファイルの場合。

最初は、単一の文字列を使用してファイルのコンテンツ全体をパックするだけでいいのではないかと思ったので、定義しました

checkResult(inType *in,OutType *out)

ここで、OutType* は char* です。次に、文字列の長さが KB またはそれ以上になる可能性があることに気付きました。ここで文字列を使用するのが適切かどうか疑問に思います。

私はたくさんグーグルで検索しましたが、wsdl で許可されている最大長を見つけることができず (ローカルの maxbuffer の長さと競合する可能性もあります)、ファイル タイプ パラメータの転送に関する情報も見つかりませんでした。

構造体型の使用が推奨される場合がありますが、ファイルに対してネストされている可能性があり、内部の要素の一部が nil で存在しない場合、解析が困難になる可能性があります。

Web サービスでファイル タイプの結果や大量のデータを返す必要がある場合、どうしましたか?

サーバーとクライアントの両方を C で ps します。

4

1 に答える 1

1

(SOAP) Web サービスの要求または応答で大量のデータを転送する場合は、通常、データを本文の一部として含めるよりも、添付メカニズムを使用する方が適切です。おそらく、アタッチメント メカニズムを検討するための順序 (最も広い採用から最も狭い採用へ):

  • Message Transmission Optimization Mechanism (MTOM) - これらの仕様 (http://www.w3.org/TR/soap12-mtom/) の最新のもので、主流の言語の多くでサポートされています。
  • SOAP with Attachments - この仕様 (http://www.w3.org/TR/SOAP-attachments) は長年にわたって存在しており、いくつかの言語でサポートされていますが、特に Microsoft ではサポートされていません。
  • Direct Internet Message Encapsulation (DIME) - この仕様 (http://bgp.potaroo.net/ietf/all-ids/draft-nielsen-dime-02.txt) は Microsoft によってプッシュされ、サポートは複数の言語で提供されています/ Java や .NET などのフレームワーク。

フレームワークを使用して、MTOM ベースの Web サービスを示す WSDL から直接コード スタブを生成できることが理想的です。

このような WSDL ドキュメントの重要な部分は次のとおりです。

  1. MTOM ポリシー宣言
  2. バインディングでのポリシーの適用
  3. タイプ (スキーマ) セクションの添付ファイルへの参照用のプレースホルダー

コントラクトファーストで作業していて WSDL を手元に持っている場合、このサイト (http://www.w3.org/Submission/WS-MTOMPolicy/) のセクション 1.2 の例は、宣言とMTOM ポリシーを適用します。同じサイトの付録 I には、Web サービス クライアントまたはサーバーが MTOM 添付ファイルへの参照を識別できるようにするスキーマ要素の例が示されています。

私は Web サービスやクライアントを C で実装したことはありませんが、最近更新されたパッケージを簡単にスキャンしたところ、gSoap (http://www.cs.fsu.edu/~engelen/soap.html) が役立つ可能性があることがわかりました。努力します。

これらのドキュメントを見て、プロジェクトの進行に役立つかどうかを確認してください。

于 2012-05-08T02:15:00.973 に答える