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¥ディレクトリに保存します。