Web サービス接続を確立して DSM Web サービスにログインするには、Web サービス ロケータおよび SOAP を使用した Web サービスへのバインドの両方を初期化する必要があります。 Web サービスの URL を確認する必要があります。 標準の DSM インストールでは、多くの場合、Windows では http://<マシン名>/udsm_r11_webservice/mod_gsoap.dll、Linux では http://<マシン名>/UDSM_R11_WebService の形式になります。
R12.5 以降のリリースについては、以前の URL に加えて、以下の Web サービス エンドポイントを使用します。
Windows
http://<マシン名>/DSM_Webservice/mod_gsoap.dll
Linux
http://<マシン名>/DSM_WebService
Web サービス ロケータを初期化して(a)、Web サービスの URL を使用して Web サービス API への接続を確立する(b)必要があります。
例 1: 必要な接続変数の設定
//これは、すべての Web サービスの呼び出しで使用されるセッション ID です //Web サービスへのログイン時に設定されます private String sessionId = ""; //これらは、Web サービスを呼び出す必要がある //UDSM Web サービス オブジェクトです //(a) private DSMWebServiceAPIService wsAPIservice = null; //(b) public DSMWebServiceAPISoapBindingStub wsAPIconnector = null; private String serviceLocation=""; private java.net.URL endpoint = new java.net.URL(serviceLocation);
注: この例は、Apache Axis バージョン 1.2 および JDK 1.5 を使用して生成されたものであり、Web サービス クライアント コードの記述に関するベスト プラクティスを保証するものではありません。
例 2: Web サービス接続の確立
//サービス ロケータ オブジェクトを作成します -- これは必須です。
wsAPIservice = new WebServiceAPIServiceLocator();
//サービス ロケータ オブジェクトが作成された場合、続行します
if (wsAPIservice != null)
{
try
{
//Web サービスの URI を使用して、
//Web サービスにバインドするバインド オブジェクトの作成を試みます
wsAPIconnector= (WebServiceAPISoapBindingStub)
wsAPIservice.getWebServiceAPIService(endpoint);
}
catch(Exception e)
{
throw e;
}
}
else
{
sessionId = "";
return WEB_SERVICE_COULD_NOT_BE_INITIALISED;
}
Java Web サービス メソッドでは、検出および処理する必要がある Web サービスの例外がスローされます。
接続が確立された後、DSM エクスプローラへのログインと同様に、DSM Web サービスにログインすることが重要です。 Login メソッドでは、有効な DSM ユーザのクレデンシャルを使用して呼び出す必要があります。
例 3: DSM Web サービスへのログイン
//config オブジェクトのクレデンシャルを使用して(ここでは説明しません)、
//新しい Web サービス接続へのログインを試みます
try
{
sessionId = wsAPIconnector.Login( cfg.getUserName(),cfg.getPassword(),cfg.getManager() );
}
catch (Exception e)
{
sessionId = "";
throw e;
}
//セッション ID が空白の場合は、セッションを確立できません
if(sessionId.equals(""))
{
return SESSION_COULD_NOT_BE_ESTABLISHED;
}
else
{
return RESULT_OK;
}
|
Copyright © 2013 CA.
All rights reserved.
|
|