WSDLの生成
jax-rpcの頃って、あらかじめWSDLを作成してwarに仕込んでいたように記憶しているのだけど、JavaEE5のwsgenで作ると、WSDLが生成されない。どうやらコンテナ側で動的に生成されているようだ。JAX-WS 2.0のspecを読んでみたら、5.2.2に以下の記述があった。
The WSDL contract for an endpoint is created dynamically based on the annotations on the implementor
class, the Binding in use and the set of metadata documents specified on the endpoint (see 5.2.4).
Conformance (WSDL Publishing): An Endpoint that uses the SOAP 1.1/HTTP binding (see 10) MUST
make its contract available as a WSDL 1.1 document at the publishing address suffixed with ”?WSDL” or
”?wsdl”.
で、5.2.4も見てみると、
A set of metadata documents can be associated with an Endpoint by means of the setMetadata-
(List
アノテーションでバイトコードに仕込まれたメタデータからWSDLを自動生成するけど、ユーザが自分で与える事も可能のようだ。









開発の現場No004