-1

「javax.xml.ws.Endpoint;」を使ってみた 次のような WS を公開します。

Endpoint.publish("http://localhost:8080/ServiceWS", new ServiceWS());

ただし、サーバーの起動時に「ClassNotFoundException: com.sun.net.httpserver.HttpServer」が発生し続けます。JDK1.7 および JBoss 7.1.0 を使用。私の知る限り、HttpServer は JavaSE の一部なので、何が問題になるのでしょうか?

4

2 に答える 2

1

Java EE 5/6 の代わりに JAX-WS 2.x を Java SE 6.0/7.0 の一部として含める理由の 1 つは、JAX-WS 2.xを使用した Web サービス配信にはサーブレットまたは EJB コンテナーが必要ないということです。

商用の HTTP サーバーとサーブレットまたは EJB コンテナーの全機能を必要としないユースケースでは、Endpoint クラスは、厳密に制御された環境でソフトウェアまたはシステムのコンポーネントが Web サービスを介して簡単に通信するための便利なメカニズムを提供します。このメカニズムの 2 つ目の用途は、最終的に Java EE コンテナーにデプロイされる実動 Web サービスのプロトタイプ作成と開発です。

Java EE コンテナーを使用しない JAX-WS Web サービス

@WebService注釈付きのクラスがすでにある場合、publishメソッドがシングルトン Bean 内で呼び出される必要はありません。JBoss はデプロイ時にアプリケーションをスキャンしてアノテーションを探し、エラーがなければ Web サービスを公開します。

于 2013-04-02T19:26:55.703 に答える