1

私のチームは、既存の SOAP ベースの Web サービスに対する REST サービス ラッパーを開発しています。SOAP サービスの内部構造は正確にはわかりません。WSDL ファイルにアクセスできるだけです。REST サービス ラッパーは、1 対 1 のマッピングになります。

REST サービスと呼ぶことを許可してください。この REST サービスは Tomcat にデプロイされ、多くのクライアントが同時にアクセスします。

現在の実装では、クライアントごとにプロキシ オブジェクトを作成します (SOAP WSDL プロキシ クラスを使用)。このプロキシ オブジェクトは、SOAP API を呼び出すために使用されます。SOAP には、プロキシ オブジェクトを介した認証の詳細バインディングが必要です。そのため、セッションを確立するための最初の REST 呼び出しを行いながら、実行時に各クライアントのこれらのオブジェクトをメモリに保存しています。

保存されたオブジェクトは、実行時に SessionID 識別子を使用してフェッチされます。問題は、これらのプロキシ オブジェクトが大量のメモリ チャンクを占有し、少数の REST クライアントしかサポートされていないことです。(デフォルトの 64 MB では、19 個の REST クライアントしか実行できません)。これは、アプローチを変更したい問題であり、あなたの提案が必要です。

より良い解決策があれば教えてください。DB にオブジェクトを格納する必要はありません。

4

1 に答える 1

0

HTTP/Soap サービスを呼び出すことしかできず、コードにアクセスできない場合は、適切な REST 規則を使用して REST サービスを作成し、SOAP サービス呼び出しへの変換を実装します。SOAP クライアント クラスを自動的に作成します。これにより、時間を節約できます。

ただし、カスタムの翻訳レイヤーを作成する必要があります。ハッキーな REST サービスのセットを作成して、それを SOAP モデルに適合させようとする必要はありません。残りに忠実であり、翻訳レイヤーをより複雑にするようにしてください..それは価値があります.

于 2012-07-05T22:05:22.337 に答える