Hitachi

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


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

Webサービスの処理を記述したWebサービス実装クラスを新規に作成します。

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

SOAP 1.1の場合のWebサービス実装クラスの作成例を次に示します。作成したAddNumbersImpl.javaは,UTF-8形式でc:\temp\jaxws\works\fromjava\server\src\com\sample\ディレクトリに保存してください。

package com.sample;
 
@javax.jws.WebService
public class AddNumbersImpl{
 
    public int add( int number1, int number2 ) throws AddNumbersFault{
 
        if( ( number1 < 0 ) || ( number2 < 0 ) ){
            throw new AddNumbersFault( "Negative number cannot be added!",
                "Numbers: " + number1 + ", " + number2 );
        }
        return number1 + number2;
    }
 
}

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

例外クラスの作成例を次に示します。作成したAddNumbersFault.javaは,UTF-8形式で,c:\temp\jaxws\works\fromjava\server\src\com\sample\ディレクトリに保存してください。

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

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

package com.sample;
 
@javax.jws.WebService
@javax.xml.ws.BindingType(javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING)
public class AddNumbersImpl{
 
    public int add( int number1, int number2 ) throws AddNumbersFault{
 
        if( ( number1 < 0 ) || ( number2 < 0 ) ){
            throw new AddNumbersFault( "Negative number cannot be added!",
                "Numbers: " + number1 + ", " + number2 );
        }
        return number1 + number2;
    }
 
}