一般的なSOAPリクエストからデータを取得するJavaResultSetインターフェイスを実装するオブジェクトを使用して作成する必要があります(これらのSOAP結果セットとJDBC結果セットの両方でより高いレベルで作業する必要があります)。
タイトルに書いたように、SOAPリクエストはジェネリックである可能性があります。渡されたパラメーターに依存し、さまざまなWebサービスを消費する可能性があるため、実行時にwsdlとSOAPサービスが提供する構造のみを知っています。
私はここ数日、これを行う方法を理解しようとしてきましたが、いくつかのアイデアが出てきました。
1-SOAP本体をxmlWebRowSetドキュメントに変換します。このドキュメントは、WebRowSetインターフェイス(ResultSetを拡張するインターフェイス)を実装するWebRowSetImplクラスにアンマーシャリングできます。この場合、WSDLおよびSOAP応答ドキュメントから始めて、その場でカスタムXSLTを作成する必要があります。
2- SOAP応答からJavaオブジェクトを作成し、汎用スタブJDBC結果セットをマップしてJavaオブジェクト内のデータで埋めようとします
3-SOAP応答からのすべてのデータを(正規化または非正規化)データベースに格納してから、任意のJDBCドライバーを使用してデータベースから読み取ります。
全体的にどの道が最善だと思いますか?そして、最も簡単な方法はどれですか?