私は、いくつかの Web サービスを開発するプロジェクトに取り組んでいます。私はこのテクノロジーに慣れていなかったので、いくつかの方法について疑問を抱くことはありませんでした。しかし、しばらく経った今でも、私の心にはまだ大きな疑問があります。
Web サービスを考案する一般的な方法は何ですか?
Java クラスは wsdlコントラクトから生成され、付随する xsd スキーマ ファイルが必要です(wsdl と xsd については、いくつかのサード パーティと私たちの間で議論されています)。
xsd スキーマ ファイルを伴わないwsdl コントラクトから Java クラスを生成する必要がある場合は、型の定義を wsdl に含める必要があります。(これはメンテナンスの悪夢になると思います)
設計した Java クラスからwsdl を生成する必要があります。
現時点では、Axis2 にスタックされた Web サービスによって公開された wsdl からスタブを作成するのが難しいため、これについて疑問に思っています。これらは、META-INF で提供する wsdl です。Axis2 によっていくつかの非常にわずかな変更が加えられています。基本的には、サード パーティによって、またはサード パーティと共に確立されたものです。
wsdl が Java クラスから逆に生成された場合、より論理的ではないでしょうか?
たとえば、私を驚かせたのは、正しいノードの場所を取得できないことです
<wsdl:service name="myEntry">
<wsdl:port name="myport_http" binding="ns1:myBinding">
<soap12:address location="our.development.machine.ipaddress">
これは .war ファイルで META-INF として提供されるため、Web サービスが実行される本番マシンと同調することはできません。それが実行されるマシンの IP アドレスを推測することはできません。
何かアドバイス ?ドキュメントへのリンク ? ベストプラクティス ?