2010-12-01 10 views
0

Javaで書かれたWebサービスをサポートするWebサーバーの詳細についてはあまり気にしていません。唯一のサーブレットコンテナやアプリケーションサーバ+ Webコンテナ:Webサービスのサポートが必要とされる何WebサーバーがWebサービスをサポートしているかどうかを確認する方法は?

1):

は、次の3つのことを知りたいのですが?

2)JavaでWeb開発をサポートしているWebサーバーはすべてWebサービスをサポートしていますか?

3)特定のサーバーがWebサービスをサポートしているかどうかを確認する方法はありますか?

ありがとうございます。

+0

各アプリケーションサーバーでリリースドキュメントを確認できます。 – Koekiebox

答えて

1

あなたの質問は多少不明です。 ウェブサービスという用語は、RESTスタイルAPIからSOAPベースのサービス、JSONベースのサービスなどに適用されます.Wikipediaによれば、同等のものはWeb APIであり、APIはかなりのものになります。

あなたの質問にお答えください。サーブレットコンテナは、ほとんどの一般的なタイプのWebサービスをサポートするのに十分であり、アプリケーションサーバは必要ありません。 Apache CXFを見てください。これは、多くのWebサービススタイル(特にSOAPとREST)を扱うフレームワークです。

Apache CXFはかなり大きなフレームワークであり、頭を抱えるのに時間がかかることがあります。よりシンプルなものが必要な場合は、オブジェクト直列化フレームワークを見て、サーブレットを自分で実装する方が良いかもしれません(これは主に私がやっていることです)。 XMLにシリアライズするには、すぐに使用できるJava JAXBアノテーションを使用します。 JSONにシリアル化するには、Jacksonを使用します。

+0

返信いただきありがとうございます.. JAX-RPCスタイルのSOAPベースのWebサービスを使用したいと考えています.WebサーバーがJAX-RPC SOAPベースのWebサービスをサポートしているかどうかを確認する方法を知りたいですか?前もって感謝します。 –

+0

すべてのサーブレットコンテナがそれを行うことができるはずです。 Apache Axisを使用するhttp://ws.apache.org/axis/java/user-guide.html - JAX-RPCを提供し、Tomcat/Jetty/Weblogicなどで実行します。アプリケーションサーバーは必要ありません。サーブレットコンテナ。 –

+0

@mahendra:JAX-RPCは、Webサービス用の古いJ2EE仕様です.JAX-WS仕様に置き換えられました。 – Cratylus

1

JAX-WSを介してSOAP WS- * Webサービスについて話しているとします。

Java EE 5+は、WebアプリケーションレベルとEJBレベルの両方で、コンテナ内のJAX-WS互換Webサービスのサポートを規定しています。したがって、現代的なアプリケーションサーバーには、JAX-WSサポートが組み込まれています。

サーブレット2.xおよび3.0には、コンテナレベルでJAX-WSをサポートする必要はありませんが、すべての主要な実装JAX-WSの最新のサーブレットコンテナ(Tomcatなど)のWAR内にデプロイできます。

Java EE 6はWebプロファイルを提供しますが、WebプロファイルにはJAX-WSが含まれていません。 Java EE 6のフルプロファイルには、JAX-WS(SOAP、WS- * Webサービス)とJAX-RS(HTTPおよびRESTful Webサービス用)の両方が含まれます。

So.

独自の実装をバンドルする場合は、すべてのコンテナに対応する必要があります。コンテナに組み込みたい場合は、完全なJava EE 5またはJava EE 6 App Serverが必要です。

+0

私の基本的な懸念は、軽量でなければならず、Javaで書かれたSOAP Webサービスをサポートする必要があるということです。あなたはコメントできますか? –