Javaでウェブサービスを構築する方法
JavaでWebサービス(WebService)を構築するための手順は次のとおりです。
- プロジェクトのビルドファイル(pom.xmlなど)に必要なライブラリと依存関係を追加する:たとえば、Webサービスの構築にはApache CXFやApache Axisなどのライブラリを使用できます。
- Webサービスのメソッドを定義するJavaインターフェイスを作成します。たとえば、sayHelloメソッドを定義するためにHelloWorldServiceインターフェイスを作成できます。
public interface HelloWorldService {
String sayHello(String name);
}
- HelloWorldServiceImpl
- こんにちは世界のサービス
public class HelloWorldServiceImpl implements HelloWorldService {
@Override
public String sayHello(String name) {
return "Hello " + name;
}
}
- web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
id="WebApp_ID" version="4.0">
<display-name>WebServiceExample</display-name>
<listener>
<listener-class>org.apache.cxf.transport.servlet.CXFServlet</listener-class>
</listener>
<servlet>
<servlet-name>helloWorldService</servlet-name>
<servlet-class>org.apache.cxf.jaxws.JaxWsServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloWorldService</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
上記の例では、Web サービスの設定に Apache CXF ライブラリが使用されています。
- Web サービスを公開します。サービスインターフェースと実装クラスを Web サービスとして公開します。Java アノテーションを使用してサービスインターフェースにマークを付けできます。
import javax.jws.WebService;
@WebService
public interface HelloWorldService {
String sayHello(String name);
}
サービス実装クラスを Web サービスとして公開します。
import javax.jws.WebService;
@WebService(endpointInterface = "com.example.HelloWorldService")
public class HelloWorldServiceImpl implements HelloWorldService {
@Override
public String sayHello(String name) {
return "Hello " + name;
}
}
- アプリケーションサーバの起動: Tomcat、Jetty などのアプリケーションサーバにプロジェクトをデプロイしてサーバを起動する
- ウェブサービスをテストするには、ウェブサービスのURLにアクセスしてテストします。例えば、http://localhost:8080/services/HelloWorldService にアクセスして、先ほど作成したウェブサービスをテストすることができます。
Javaウェブサービス構築全般の手順は上記のとおりですが、具体的には選択したライブラリやツールによって異なる場合があります。