2012-09-25 17 views
23

私はJAX-WSに概要を提供しており、sun-jaxws.xmlcom.sun.xml.ws.transport.http.servlet.WSServletContextListenerおよびcom.sun.xml.ws.transport.http.servlet.WSServletと一緒に)への参照に気づいています。sun-jaxws.xml - いつ必要なのですか?

これはどのような状況で必要ですか?

+0

場所を正確にあなたがそれらの参照を見つけましたか? – Puce

+0

@Puce:例:http://www.mkyong.com/webservices/jax-ws/deploy-jax-ws-web-services-on-tomcat/その他のいくつかの場所 – JohnDoDo

+0

関連:http: //stackoverflow.com/questions/16537821/jax-ws-web-service-on-tomcat-without-sun-jaxws-xml –

答えて

32

sun-jaxws.xmlは、SUNのリファレンス実装を使用してJava以外のEE5サーブレットコンテナに標準WARアーカイブとしてWebサービスをデプロイするときに必要となる独自のデプロイメント記述子です。

SunのRIは、サーブレットコンテキストイベントのリスナーとしてWSServletContextListenerを使用し、ディスパッチャサーブレットとしてWSServletを使用します。どちらもweb.xmlで宣言する必要があります。 sun-jaxws.xmlファイルは、WSServletのWebサービスエンドポイントを定義して、どのエンドポイントにサービス要求をディスパッチする必要があるかを知らせる必要があります。

このように、Webサービスは、JAX-WS RI対応のサーブレットコンテナで実行できますが、ポータブルではありません。このようGlassfish, the reference implementation,として

のJava EE 5 +準拠のアプリケーションサーバは、JSR 109(Web services 1.2/1.3)とJSR 224(JAX-WS 2.0/2.1/2.2)に準拠しており、非標準sun-jaxws.xml配備記述子を必要としません。

詳細についてはこちらをご覧ください:

http://jax-ws.java.net/nonav/2.2.1/docs/UsersGuide.html#1.0_Introduction

http://www.ibm.com/developerworks/java/library/j-jws9/index.html

+1

答えをありがとう。しかし、「Java EE5以外のサーブレット・コンテナ」とはどういう意味ですか?サーブレットAPIの特定のバージョンまたは何ですか? – JohnDoDo

+1

私はそれが違いを作るのはサーブレットAPIのバージョンだけであるかどうかはわかりません。これは間違いなく重要です(例:注釈のサポート)。このコンテキストの範囲で「非J2EEサーブレットコンテナ」を理解することは、JBoss AS 7などのJ2EE 5+環境ではJAX-WS 2.0のサポートが自動的に保証されますが、Webサービスを作成する必要がある場合レガシーサーブレットコンテナなどの他の環境でも、ジョブを実行できますが、これは1つのオプションです。もちろん、今日、あなたが選ぶことができる他の良い、より良い実装(例えば、Apache CFX)があります。 – RGO

+0

@ JohnDoDo - ここでは、サーブレットコンテナと完全なJava EEアプリケーションサーバーの違いについて説明します:http://stackoverflow.com/questions/17181292/java-ee-containers-vs-web-containers/17184620#17184620 –

関連する問題