Web サービス属性エディタの「WSDL カスタマイズ」パネルは、WSDL から作成された JAX-WS (Java EE 5) Web サービスとクライアントで使用できます。これらのシナリオでは、wsimport が呼び出されて JAX-WS アーティファクトが生成されます。デフォルトでは、wsimport は JAX-WS 仕様で指定されたバインド規則に従います。「WSDL カスタマイズ」パネルを使用すると、これらのアーティファクトを生成するときの wsimport の動作をカスタマイズできます。
Web サービス属性エディタの「WSDL カスタマイズ」パネルには、「プロジェクト」ウィンドウからアクセスします。「WSDL から」のアーティファクトを表すノードを右クリックし、「Web サービス属性を編集」を選択します。たとえば、Web サービスクライアントの場合は、「Web サービス参照」ノードを展開し、Web サービスクライアントを表すノードを右クリックして「Web サービス属性を編集」を選択します。エディタが表示されます。「WSDL カスタマイズ」タブを選択するとパネルが開きます。
「WSDL カスタマイズ」パネルの「大域カスタマイズ」セクションを使用すると、WSDL ファイル全体をカスタマイズできます。つまり、下位レベルの要素で上書きされていない場合、「大域カスタマイズ」セクションで指定されたカスタマイズが、WSDL ファイル内の影響を受ける要素全体に適用されます。たとえば、「大域カスタマイズ」セクションで「非同期クライアントを有効にする」を有効にし、「ポートタイプ」または「ポートタイプオペレーション」でカスタマイズを行わなかった場合、その WSDL ファイル内のすべてのオペレーションが非同期用に生成されます。ただし、上位レベルのカスタマイズで上書きすることができます。
また、この例で、2 つのポートタイプ A と B があり、ポートタイプ B で非同期オペレーションを無効にした場合、A のすべてのオペレーションは非同期となり、B のオペレーションは非同期になりません。その後、オペレーションレベルで上書きできます。したがって、上書きの仕組みは、「大域カスタマイズ」>「ポートタイプ」> 「ポートタイプ」という階層に従います。
次の大域プロパティーを定義できます。
SetLastTradePriceResponse setLastTradePrice(SetLastTradePrice setLastTradePrice);
ただし、ラッパースタイルがある場合、wsimport は次の Java コードを生成します。
void setLastTradePrice(String tickerSymbol, float lastTradePrice);
これでわかるように、ラッパースタイルがあると、メソッドパラメータはコンポーネントに分割されます。その結果、ラッパースタイルを指定するかどうかは、開発者のコーディングスタイルで決まります。