biz-Streamマニュアル Webサービスサーバ ガイド 第11章 サンプルプログラム(Java) 11.12 リポジトリのディレクトリを削除するサンプル(JAX-WS)

11.12 リポジトリのディレクトリを削除するサンプル(JAX-WS)

概要

リポジトリのディレクトリを削除するサンプルプログラムです。


環境準備

事前に『2.7 クライアントアプリケーションの環境構築』を確認してください。


サンプル構成

項目 ファイルパス
ソースサンプル <bswss-client_home>/sample/java/jax-ws/WSS_JAXWS_Sample12.java サンプル1

ソースサンプル

import java.net.Authenticator;
import java.net.PasswordAuthentication;
import java.net.URL;
import java.util.Map;

import org.apache.ws.axis2.Cms;
import org.apache.ws.axis2.CmsPortType;

import com.brainsellers.schemas.webservices.cms._2006_10.DeleteRequest;
import com.brainsellers.schemas.webservices.common._2006_10.Success;

import jakarta.xml.ws.BindingProvider;
import jakarta.xml.ws.WebServiceFeature;
import jakarta.xml.ws.soap.MTOMFeature;


public class WSS_JAXWS_Sample12 {

	// Webサービスサーバのホスト名
	private static final String WSS_HOST_NAME = "wsssrv";

	// Webサービスのエンドポイントプリフィックス
	private static final String WSS_SERVICE_LOCATION = "http://" + WSS_HOST_NAME + ":8080/axis2/services";

	// BASIC認証のユーザ名
	private static final String USER_NAME = "bizuser1";

	// BASIC認証のパスワード
	private static final String PASSWORD = "bizuser1";

	// 監査ロギング用のユーザ定義
	private static final String USER_DEF = "AAA";

	// 削除するフォルダパス
	private static final String TARGET_FOLDER_PATH = "/Sample11_JAXWS";


	/**
	 *
	 * @param args
	 */
	public static void main(String[] args) {
		new WSS_JAXWS_Sample12();
	}

	/**
	 * メイン
	 */
	public WSS_JAXWS_Sample12() {
		try{
			// 認証の設定
			setAuth();

			// リポジトリ内のディレクトリを削除
			removeDir();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 認証の設定
	 */
	private void setAuth() {
		Authenticator.setDefault(new Authenticator() {
			protected PasswordAuthentication getPasswordAuthentication() {
				return new PasswordAuthentication(USER_NAME, PASSWORD.toCharArray());
			}
		});
	}

	/**
	 * リポジトリのディレクトリを削除
	 *
	 * @resturn Success
	 */
	public Success removeDir() throws Exception {
		// クライアント生成
		Cms service = new Cms(new URL(WSS_SERVICE_LOCATION + "/cms?wsdl"));

		// MTOMを有効化
		WebServiceFeature feature = new MTOMFeature(true);
		CmsPortType type = service.getCmsSOAP11Port(feature);
		BindingProvider bp = (BindingProvider) type;
		Map<String, Object> reqContext = bp.getRequestContext();
		reqContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
				WSS_SERVICE_LOCATION + "/cms?UserDef=" + USER_DEF);

		// リクエストメッセージの作成
		DeleteRequest request = new DeleteRequest();
		request.setValue(TARGET_FOLDER_PATH);

		// リクエストを送信
		return type.delete(request);
	}
}