コンストラクタの概要

SOAPClient (String wsdlUrl, String [serviceName], String [portName], String [endpoint])
WSDLを URL文字列 で指定するコンストラクタ。
SOAPClient (File wsdlOnAppRuntime, String [serviceName], String [portName], String [endpoint])
WSDLを File# オブジェクトで指定するコンストラクタ。
SOAPClient (PublicStorage wsdlOnStorage, String [serviceName], String [portName], String [endpoint])
WSDLを PublicStorage# オブジェクトで指定するコンストラクタ。

メソッドの概要

返却値の型 メソッド名
void cleanup ()
SOAPClientの関連リソースをクリーンアップします。
Array getOperationNames ()
このWebサービスで利用可能なオペレーション名を返却します。
String getSampleCode (String [operationName])
Webサービスを呼び出すソースコードのサンプルを返却します。
void setCharacterSetEncoding (String charset)
送信するSOAPメッセージの文字セットを設定します。
void setEnableMTOM (Boolean bool)
MTOM (Message Transmission Optimization Mechanism)の有効・無効を設定します。
void setTimeOutInMilliSeconds (Number timeOutInMilliSeconds)
タイムアウト値を設定します。

コンストラクタの詳細

SOAPClient (String wsdlUrl, String [serviceName], String [portName], String [endpoint])
WSDLを URL文字列 で指定するコンストラクタ。

SOAPClientは、インスタンス生成時に以下の処理を行います。
  1. WSDLの解析
  2. Webサービス・クライアントとなるJavaスタブ・クラスのソース生成
  3. Javaスタブ・クラスのコンパイル
  4. Javaスタブ・クラスを呼び出すJavaScriptソースの生成
上記で示した一連の処理は、インスタンス生成時に一度だけ行われます。
2回目以降のインスタンス生成では上記処理が省略され、1回目に作成されたスタブが利用されます。
なお、この動作は、初期設定時の動作です。設定を変更する方法は こちら を参照してください。

WSDL内に複数のWebサービスが定義されている場合は、第2引数「serviceName」に実行したいWebサービス名を指定します。

WSDLのポート要素を指定したい場合は、第3引数「portName」に利用したいポート名を指定します。

WSDL内に定義されているエンドポイントとは異なるエンドポイントを利用する場合は、第4引数「endpoint」に指定してください。
serviceNameやportNameを指定しない場合は、以下のようにエンドポイントを設定してください。
 var wsdlUrl  = "http://localhost:8080/imart/services/SampleMemberInfoOperatorService?wsdl";
 var endpoint = "http://localhost:9999/imart/services/SampleMemberInfoOperatorService";
 var soapClient = new SOAPClient(wsdlUrl, null, null, endpoint);
 

なお、WSDLファイルは、パブリックストレージ上に存在するWSDLファイルを利用することも可能です。 詳しくは、WSDLを PublicStorage オブジェクトで指定するコンストラクタ を参照してください。
パラメータ
wsdlUrl : String
WSDLを示すURL
[serviceName] : String
Webサービス名 (WSDL内に複数のWebサービスが定義されている場合は必須)
[portName] : String
Webサービスのポート名
[endpoint] : String
エンドポイントのURL
SOAPClient (File wsdlOnAppRuntime, String [serviceName], String [portName], String [endpoint])
WSDLを File# オブジェクトで指定するコンストラクタ。

このコンストラクタを利用すると、Application Runtime上に保存されているWSDLファイルを利用することが可能です。
第1引数に、WSDLファイルを指し示している File オブジェクトを指定してください。 そのほかの動作は、「WSDLをURLで指定するコンストラクタ」と同等です。
パラメータ
wsdlOnAppRuntime : File
WSDLを示すFileオブジェクト
[serviceName] : String
Webサービス名 (WSDL内に複数のWebサービスが定義されている場合は必須)
[portName] : String
Webサービスのポート名
[endpoint] : String
エンドポイントのURL
SOAPClient (PublicStorage wsdlOnStorage, String [serviceName], String [portName], String [endpoint])
WSDLを PublicStorage# オブジェクトで指定するコンストラクタ。

このコンストラクタを利用すると、パブリックストレージ上に保存されているWSDLファイルを利用することが可能です。
第1引数に、WSDLファイルを指し示している PublicStorage オブジェクトを指定してください。

なお、WSDLファイルの解析時に、別のWSDLファイル や 別のXMLスキーマファイル (以降、「XSDファイル」と呼ぶ)が必要な場合は、 コンストラクタに指定したWSDLファイルと同じディレクトリ(または、設定可能なサブディレクトリ)にそれらのファイルを保存してください。

上記は、SOAPメッセージの送受信時に使われる要素が、指定したWSDLファイル内ではなく、 別のXSDファイルで定義されている場合が当てはまります。

WSDLファイルの解析時に必要なファイルの拡張子や、必要なファイルが格納されているディレクトリ名の設定方法は、 こちら を参照してください。

そのほかの動作は、「WSDLをURLで指定するコンストラクタ」と同等です。
パラメータ
wsdlOnStorage : PublicStorage
WSDLを示す PublicStorage オブジェクト
[serviceName] : String
Webサービス名 (WSDL内に複数のWebサービスが定義されている場合は必須)
[portName] : String
Webサービスのポート名
[endpoint] : String
エンドポイントのURL

メソッドの詳細

void cleanup ()
SOAPClientの関連リソースをクリーンアップします。
このメソッドを呼び出すことは、Axis2のorg.apache.axis2.client.Stub#cleanup()メソッドを呼び出すことに相当します。
返却値
void
Array getOperationNames ()
このWebサービスで利用可能なオペレーション名を返却します。
返却値
Array
Array Webサービス・オペレーション名の配列
String getSampleCode (String [operationName])
Webサービスを呼び出すソースコードのサンプルを返却します。

getSampleCode()の引数にはWebサービス・オペレーション名を指定します。
オペレーション名は getOperationNames() でも取得可能です。
引数を指定せずに getSampleCode() を実行すると、Webサービス内で利用可能なすべてのオペレーションに関するソースコードが返却されます。

getSampleCode()関数の目的はサンプルコードの表示です。
したがって、getSampleCode()関数の実行ロジックは、Webサービスを呼び出すコードの作成完了後に削除してください。

以下に、getSampleCode()関数で生成される、Webサービスを呼び出すソースコードのサンプルを示します。
Webサービスを呼び出すソースコードのサンプル
  1: ************************************************************
  2:  Usage:
  3:     var result = soapClient.add(wsUserInfo, member);
  4:
  5: //-------------------------------
  6: // Sample Data : 'wsUserInfo'
  7: //-------------------------------
  8: var wsUserInfo =
  9: /* Object <WSUserInfo> */
 10: {
 11:     /* String */
 12:     "password" : "prop_password",
 13:
 14:     /* String */
 15:     "authType" : "prop_authType",
 16:
 17:     /* String */
 18:     "userID" : "prop_userID",
 19:
 20:     /* String */
 21:     "loginGroupID" : "prop_loginGroupID"
 22: };
 23:
 24: //-------------------------------
 25: // Sample Data : 'member'
 26: //-------------------------------
 27: var member =
 28: /* Object <Member> */
 29: {
 30:     /* Boolean */
 31:     "married" : true,
 32:
 33:     /* Number */
 34:     "age" : 123,
 35:
 36:     /* String */
 37:     "name" : "prop_name",
 38:
 39:     /* String */
 40:     "id" : "prop_id",
 41:
 42:     /* Array <Member[]> */
 43:     "children" : [
 44:
 45:     ],
 46:
 47:     /* Date (Thu Jun 19 2008 12:34:56 GMT+0900 (JST)) */
 48:     "birthDate" : new Date(1213846496000)
 49: };
 50:
 51: ************************************************************
 

サンプルコードはJSON形式で出力されます。そのため、コピー&ペーストで利用することが可能です。

また、コメントとしてJavaScriptの型情報が付与されています。
9行目の「<WSUserInfo>」 や 28行目の「<Member>」など、 JavaScriptの型情報の右側に表示されている「<>」内の文字列は、そのオブジェクト構成を表す名称です。

例えば、42行目の「<Member[]>」は、 「childrenプロパティには、28行目で示されている<Member>形式のオブジェクトが配列で格納される」 ことを意味しています。

なお、XMLスキーマの restriction で定義されている型などは、サンプルデータが生成されません。 サンプルデータが生成されていない型については、WSDL、および、実行するWebサービスの仕様を確認してください。
パラメータ
[operationName] : String
Webサービス・オペレーション名 (省略時はWebサービス内で利用可能なすべてのオペレーションに関するソースコードが返却されます)
返却値
String
String Webサービスを呼び出すソースコードのサンプル
void setCharacterSetEncoding (String charset)
送信するSOAPメッセージの文字セットを設定します。
設定しない場合の初期値は「UTF-8」です。
パラメータ
charset : String
文字セット名
返却値
void
void setEnableMTOM (Boolean bool)
MTOM (Message Transmission Optimization Mechanism)の有効・無効を設定します。
パラメータ
bool : Boolean
MTOMを有効にする場合は trueを、無効にする場合は false を設定します。
返却値
void
void setTimeOutInMilliSeconds (Number timeOutInMilliSeconds)
タイムアウト値を設定します。
パラメータ
timeOutInMilliSeconds : Number
タイムアウト値(ミリ秒))
返却値
void