Hitachi

Cosminexus V11 アプリケーションサーバ Webサービス開発ガイド


31.3.1 Webサービス実装クラスを作成する

Webサービスの処理を記述したWebサービス実装クラスを作成します。ここでは,受け取った要求メッセージの内容を計算して,応答メッセージを返すWebサービス実装クラスを作成します。

Webサービス実装クラスの作成例を次に示します。

package com.sample;
 
import java.awt.Image;
import javax.jws.WebService;
import javax.xml.ws.soap.MTOM;
import javax.xml.bind.annotation.XmlMimeType;
 
@MTOM
@WebService(serviceName="UserInfoService",targetNamespace="http://sample.com")
public class UserInfoImpl {
 
    public UserData getUserData(String in0, @XmlMimeType("image/png")Image in1)
        throws UserInfoException {
 
    //社員情報への顔写真の登録処理
    ・・・・
 
        UserData userdata = new UserData();
        //登録した社員の名前と所属を設定
        if (in0.equals("1")) {
            userdata.setName("Sato Taro");
            userdata.setSection("The personnel section");
        } if ( ・・・・) {
            ・・・・・
      } ・・・・
 
    //登録確認メッセージを設定
        if (in1 == null) {
            userdata.setMessage("Failure(no image).");
        } else {
            userdata.setMessage("Success.");
        }
        return userdata;
}
}

作成したUserInfoImpl.javaは,UTF-8形式でc:\temp\jaxws\works\mtom\server\src\com\sample\ディレクトリに保存します。

また,com.sample.UserInfoImplで使用しているユーザ定義型クラスcom.sample.UserDataを作成します。通常,ユーザ定義型クラスの作成は任意ですが,ここではユーザ定義型クラスを作成します。

ユーザ定義型クラスの作成例を次に示します。

package com.sample;
 
import java.lang.String;
 
public class UserData {
 
    private String message;
    private String name;
    private String section;
 
    public UserData() {
    }
 
    public String getMessage() {
        return this.message;
    }
 
    public void setMessage(String message) {
        this.message = message;
    }
    public String getName() {
        return this.name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getSection() {
        return this.section;
    }
 
    public void setSection(String section) {
        this.section = section;
    }
}

作成したUserData.javaは,UTF-8形式で,c:\temp\jaxws\works\mtom\server\src\com\sample\ディレクトリに保存します。

またcom.sample.UserInfoImplでスローしている例外クラスcom.sample.UserInfoExceptionを作成します。通常,例外クラスの作成は任意ですが,ここでは例外クラスを作成します。

例外クラスの作成例を次に示します。

package com.sample;
 
import java.lang.Exception;
import java.lang.String;
 
public class UserInfoException extends Exception {
 
    String detail;
 
    public UserInfoException(String message, String detail) {
        super(message);
        this.detail = detail;
    }
 
    public String getDetail() {
        return detail;
    }
}

作成したUserInfoException.javaは,UTF-8形式でc:\temp\jaxws\works\mtom\server\src\com\sample\ディレクトリに保存します。