Java 入門

ホーム > Web サービス - JAX-WS > Web サービスの作成

Web サービスの作成

Java 講座らしく、ここでは単純な Web サービスを実際に実装してみることで Java による Web サービスを学びましょう。

単純な Web サービスクラスの作成

JAX-WS による単純な Web サービスの実装は次のようになります。ここでは Calc1 というクラスを定義しています。 メソッドは add という足し算をするだけのメソッドです。(もちろん、現実世界で足し算をするだけのために Web サービスを呼ぶ人はいませんが、 ここは Java 入門、Java 講座としてのサンプルコードです)

package com.keicode.java.test;

import javax.jws.*;

@WebService
public class Calc1 {

     public double add( 
          @WebParam(name="x") double x, 
          @WebParam(name="y") double y 
          ) {
     
          return x + y;
     
     }     
     
}

テスト用のサーバーの作成

それでは、上記の Web サービスを公開しましょう。JDK には開発した Web サービスを簡単に試すための仕組みがあります。

package com.keicode.java.test;

import javax.xml.ws.*;

public class Calc1Server {

     public static void main(String[] args) {

          Endpoint.publish( 
               "http://localhost:8888/WebServices/calc1", 
               new Calc1() );
          
     }
     
}

上記をコンパイルするとテストプログラムが作成されます。

> java com.keicode.java.test.Calc1Server
Apr 20, 2010 3:11:07 PM com.sun.xml.internal.ws.model.RuntimeModeler 
getRequestWrapperClass
INFO: Dynamically creating request wrapper Class 
com.keicode.java.test.jaxws.Add
Apr 20, 2010 3:11:07 PM com.sun.xml.internal.ws.model.RuntimeModeler 
getResponseWrapperClass
INFO: Dynamically creating response wrapper bean Class 
com.keicode.java.test.jaxws.AddResponse

WSDL の確認

上で作成した Web サービスの WSDL を取得しましょう。

WSDL は上記コード内で指定した URL に ?wsdl を付けた URL で取得できます。

ホーム > Web サービス - JAX-WS > Web サービスの作成