2017-10-18 11 views
1

Apache CXFのwsdl_firstサンプルでは、​​pomファイルはwsdlファイルをWEB-INF /に置きます。また、src/main/resources内のすべてのxmlファイルとwsdlファイルは、src/main/resourcesにあるため、WEB-INF/classesで終わります。wsdlファイルをWEB-INF(Apache CXF)に入れる必要があるのはなぜですか?

tomcatにwebappをデプロイします。

私の質問は、WEB-INFからwsdlファイルを削除し、WEB-INF/classes(およびTomcatを再起動します)からxmlファイルとwsdlファイルを削除しても、Webアプリケーションは引き続き動作します。なぜpomファイルはwsdlファイルをWEB-INFに明示的に置くのですか?なぜWEB-INF/classesにxmlファイルとwsdlファイルがあるのですか?

src/main/webappには、web.xmlとcxf-servlet.xmlがあります。彼らはWEB-INF /で終わります。私がそれらを取り除くと、物事は間違っています。

答えて

0

WSDLはサービスインターフェイスの正式な定義です。つまり、SOAPサービスのクライアントを作成する場合は、WSDLが必要です。このWSDLを使用して、クライアントのコード成果物を生成することができます。これは、WSDLからサーバーを生成する場合とほぼ同じです。

WEB-INFフォルダが公開され、WSDLがそこにあるときにも公開されます。これにより、クライアントはWSDLにアクセスできます。ただし、サービスを実行するためにWSDLは必要ありません。したがって、WSDLを削除できます。

一般に、パブリックブラウジングに対してサービスを保護する場合は、WSDLを削除します。これにより、単にサービス定義を取得することができるようになります。

それが実行するためにSOAPサーバーまたはクライアントのために必要とされていませんしかしネットなど、WSDLは、Javaなどの様々な言語でのアーティファクトを生成するために使用されるだけの定義である

を覚えておいてください。コード生成用です

関連する問題