org.opengion.fukurou.util
クラス SOAPConnect
java.lang.Object
org.opengion.fukurou.util.URLConnect
org.opengion.fukurou.util.SOAPConnect
public class SOAPConnect
- extends URLConnect
SOAPConnect は、URLConnectクラスの拡張版で、SOAP接続を行うための機能を追加しています。
基本的な機能は、URLConnect
を参照して下さい。
SOAP対応の追加機能としては、以下の2点があります。
①ヘッダー情報の変更
SOAP接続では、通常のURLConnectに加えて、以下のヘッダー情報を付加しています。
1.Content = text/xml;charset=UTF-8"
2.Accept = text/xml, multipart/related, text/html, image/gif, image/jpeg,
3.Soapaction = "[NameSpace][SOAPMethodName]"
②SOAPメッセージの生成機能
SOAPメッセージは、以下のようなXML構造で定義されます。
[methodParameter(XML)]
SOAPConnectクラスでは、[methodParameter(メソッドパラメーター)]の定義方法に2種類の方法があります。
(a)keys,valsによる指定
keys,valsを指定することで、これらを内部的にXMLデータに変換し、パラメーター部分のXML
情報を生成します。
例)
keys="param0>AAA,param0>BBB,param1>CCC,DDD"
vals="v1,v2,v3,v4"
[変換結果]
v1
v2
v3
v4
この定義方法では、項目の値を"null"とすることで、XMLで言うところの
「xsi:nil=\"true\"」のデータを表現することもできます。
また、キー名の先頭を'@'にすることで、項目名に名前空間のPREFIXを付加することができます。
一般的には、JavaやRubyで実装されたWebサービスを呼び出しする場合は、必要ありませんが、
.NETで実装されたWebサービスを呼び出しする場合は、各項目にPREFIXを付与しないと、正しく
パラメーターを渡すことができません。
※現時点では、keysの階層定義は、2階層まで対応しています。
3階層以上のXML構造を定義する場合は、postFile属性によるファイル指定又は、Body部分で直接
XMLデータを記述して下さい。
(b)XMLデータを直接指定
メソッドパラメーターの部分のXMLデータを直接指定します。
この場合、(a)のように、xsi:nil=\"true\"や、パラメーターキーへのPREFIXの付加は、予め行って
おく必要があります。
なお、パラメーターキーのPREFIXは、"tns:"です。
java org.opengion.fukurou.util.SOAPConnect [<-info/-data>] [user:passwd]
args[*] : [<-info/-data>] 情報の取得か、データの取得かを指定します(初期値:-data)。
args[*] : [<-data=ファイル名>] メソッドのパラメーターが記述されたXMLファイルを指定します。" );
args[*] : [<-out=ファイル名>] 結果をファイルに出力します。ファイルエンコードも指定します。" );
args[*] : [<-nameSpace=名前空間>] メソッド名及びパラメーターの名前空間を指定します。" );
args[*] : [<-methodName=メソッド名>] メソッド名を指定します。" );
args[*] : [<-keys=キー一覧>] メソッドのパラメーターのキー一覧を指定します。(dataを指定した場合は無視されます)" );
args[*] : [<-vals=値一覧>] メソッドのパラメーターの値一覧を指定します。 (dataを指定した場合は無視されます)" );
args[A] : URLを指定します。GETの場合、パラメータは ?KEY=VALです。
args[B] : [] BASIC認証のエリアへのアクセス時に指定します。
- バージョン
- 4.0
- 作成者
- Hiroki Nakamura
- 導入されたバージョン:
- JDK5.0,
コンストラクタの概要 |
SOAPConnect(java.lang.String url,
java.lang.String pass,
java.lang.String ns,
java.lang.String method,
java.lang.String xmlData)
コンストラクター
ここでは、送信するXMLデータを直接指定するためのコンストラクターを定義しています。 |
SOAPConnect(java.lang.String url,
java.lang.String pass,
java.lang.String ns,
java.lang.String method,
java.lang.String[] ks,
java.lang.String[] vs)
コンストラクター
ここでは、送信するXMLデータをキー及び値の一覧から生成するためのコンストラクターを定義しています。 |
メソッドの概要 |
protected java.net.URLConnection |
getConnection()
URL と ユーザー:パスワードを与えて、URLConnectionを返します。 |
static void |
main(java.lang.String[] args)
サンプル実行用のメインメソッド
java org.opengion.fukurou.util.SOAPConnect [<-info/-data>] [user:passwd]
args[*] : [<-info/-data>] 情報の取得か、データの取得かを指定します(初期値:-data)。 |
クラス org.opengion.fukurou.util.URLConnect から継承されたメソッド |
code2Message, connect, disconnect, getCharset, getCode, getDate, getInputStream, getLength, getMessage, getMethod, getModified, getReader, getType, getUrl, readData, setCharset, setPostData, setProxy |
クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SOAPConnect
public SOAPConnect(java.lang.String url,
java.lang.String pass,
java.lang.String ns,
java.lang.String method,
java.lang.String[] ks,
java.lang.String[] vs)
- コンストラクター
ここでは、送信するXMLデータをキー及び値の一覧から生成するためのコンストラクターを定義しています。
- パラメータ:
url
- String 接続するアドレスを指定します。(http://server:port/dir/file.html)pass
- String ユーザー:パスワード(認証接続が必要な場合)ns
- String 名前空間を指定します。method
- String メソッド名を指定します。ks
- String 送信するメソッドパラメーターのキー一覧を指定します。vs
- String 送信するパラメーターの値一覧を指定します。
SOAPConnect
public SOAPConnect(java.lang.String url,
java.lang.String pass,
java.lang.String ns,
java.lang.String method,
java.lang.String xmlData)
- コンストラクター
ここでは、送信するXMLデータを直接指定するためのコンストラクターを定義しています。
- パラメータ:
url
- String 接続するアドレスを指定します。(http://server:port/dir/file.html)pass
- String ユーザー:パスワード(認証接続が必要な場合)ns
- String 名前空間を指定します。method
- String メソッド名を指定します。xmlData
- String パラメーターのXMLデータ
getConnection
protected java.net.URLConnection getConnection()
throws java.io.IOException
- URL と ユーザー:パスワードを与えて、URLConnectionを返します。
SOAP接続では、通常のURLConnectに加えて、以下のヘッダー情報を付加しています。
1.Content = text/xml;charset=UTF-8"
2.Accept = text/xml, multipart/related, text/html, image/gif, image/jpeg,
3.Soapaction = "[NameSpace][SOAPMethodName]"
- オーバーライド:
- クラス
URLConnect
内の getConnection
- 戻り値:
- URLConnection オブジェクト
- 例外:
java.io.IOException
- 関連項目:
URLConnect.getConnection()
main
public static void main(java.lang.String[] args)
throws java.io.IOException
- サンプル実行用のメインメソッド
java org.opengion.fukurou.util.SOAPConnect [<-info/-data>] [user:passwd]
args[*] : [<-info/-data>] 情報の取得か、データの取得かを指定します(初期値:-data)。
args[*] : [<-data=ファイル名>] 送信するデータが記述されたXMLファイルを指定します。" );
args[*] : [<-out=ファイル名>] 結果をファイルに出力します。ファイルエンコードも指定します。" );
args[*] : [<-nameSpace=名前空間>] メソッド名及びパラメーターの名前空間を指定します。" );
args[*] : [<-methodName=メソッド名>] メソッド名を指定します。" );
args[*] : [<-keys=キー一覧>] メソッドのパラメーターのキー一覧を指定します。(dataを指定した場合は無視されます)" );
args[*] : [<-vals=値一覧>] メソッドのパラメーターの値一覧を指定します。 (dataを指定した場合は無視されます)" );
args[A] : URLを指定します。GETの場合、パラメータは ?KEY=VALです。
args[B] : [] BASIC認証のエリアへのアクセス時に指定します。
- パラメータ:
args
- String[]
- 例外:
java.io.IOException
Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.