2

Web サービスのメソッドの定義はサードパーティから提供されました。私は Java クラスを作成し、maven schemagen プラグインはクラスから見事に xsd を生成します。次に、wsdl を公開するために spring-ws-servlet などをセットアップします。WSDL11Definition クラスのみが要求と応答のサフィックスを必要とします....サフィックスがありません。メソッド名は、getAttribute、setAttribute、refreshDetails、manageAttribute などです。これを回避する方法を知っている人はいますか? これを行うために参照できる他の wsdl 定義クラス、またはおそらく他のプロバイダー (defaultWsdl11Definition が使用する suffixProviders の代わりに) はありますか?

どんな助けでも大歓迎です!

4

1 に答える 1

1

Spring-WS は、「コード ファースト」ではなく「スキーマ ファースト」設計を中心に設計されています。

Web サービスを作成する場合、Contract Last と Contract First の 2 つの開発スタイルがあります。コントラクト ラスト アプローチを使用する場合は、Java コードから開始し、そこから Web サービス コントラクト (WSDL、サイドバーを参照) を生成します。コントラクトファーストを使用する場合、WSDL コントラクトから開始し、Java を使用してそのコントラクトを実装します。

Spring-WS はコントラクト優先の開発スタイルのみをサポートしており、このセクションではその理由を説明します。

「コード ファースト」で動作させることはできますが、自分の手で戦うことになります。

Spring-WS を使い続けたい場合は、Web サービス仕様を使用して操作を説明する XML スキーマを記述し、そのスキーマから Java を生成するか、Java を手動で記述することを強くお勧めします。

于 2010-07-12T11:23:57.310 に答える