Hitachi

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


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

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

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

package com.sample;
 
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.bind.annotation.XmlAttachmentRef;
import javax.activation.DataHandler;
 
@javax.jws.WebService(serviceName="UserInfoService",targetNamespace="http://sample.com")
public class UserInfoImpl{
 
    public UserData getUserData( String in0,
        @XmlAttachmentRef javax.activation.DataHandler 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\attachments\server\src\com\sample\ディレクトリに保存します。

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

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

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

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

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

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

package com.sample;
 
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\attachments\server\src\com\sample\ディレクトリに保存します。