|
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.opengion.fukurou.util.URLConnect
org.opengion.fukurou.util.SOAPConnect
public class SOAPConnect
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構造で定義されます。
<env:Envelope env:xmlns="..." xsi:xmlns="...">
<env:Body>
<tns:[methodName] xmlns:tns="[nameSpace]">
[methodParameter(XML)]
</tns:[methodName]>
</env:Body>
</env:Envelope>
SOAPConnectクラスでは、[methodParameter(メソッドパラメーター)]の定義方法に2種類の方法があります。
(a)keys,valsによる指定
keys,valsを指定することで、これらを内部的にXMLデータに変換し、パラメーター部分のXML
情報を生成します。
例)
keys="param0>AAA,param0>BBB,param1>CCC,DDD"
vals="v1,v2,v3,v4"
[変換結果]
<param0>
<AAA>v1</AAA>
<BBB>v2</BBB>
</param0>
<param1>
<CCC>v3</CCC>
</param1>
<DDD>v4</DDD>
この定義方法では、項目の値を"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:"です。
Usage: java org.opengion.fukurou.util.SOAPConnect [-info/-data] … url [user:passwd]
args[*] : [-info/-data] 情報の取得か、データの取得かを指定します(初期値:-data)。
args[*] : [-data=ファイル名] メソッドのパラメーターが記述されたXMLファイルを指定します。
args[*] : [-out=ファイル名] 結果をファイルに出力します。ファイルエンコードも指定します。
args[*] : [-nameSpace=名前空間] メソッド名及びパラメータ
args[*] : [-keys=キー一覧] メソッドのパラメーターのキー一覧を指定します。(dataを指定した場合は無視されます)
args[*] : [-vals=値一覧] メソッドのパラメーターの値一覧を指定します。 (dataを指定した場合は無視されます)
args[A] : url URLを指定します。GETの場合、パラメータは ?KEY=VALです。
args[B] : [user:passwd] BASIC認証のエリアへのアクセス時に指定します。
| コンストラクタの概要 | |
|---|---|
SOAPConnect(String url,
String pass,
String ns,
String method,
String xmlData)
コンストラクター ここでは、送信するXMLデータを直接指定するためのコンストラクターを定義しています。 |
|
SOAPConnect(String url,
String pass,
String ns,
String method,
String[] ks,
String[] vs)
コンストラクター ここでは、送信するXMLデータをキー及び値の一覧から生成するためのコンストラクターを定義しています。 |
|
| メソッドの概要 | |
|---|---|
protected URLConnection |
getConnection()
URL と ユーザー:パスワードを与えて、URLConnectionを返します。 |
static void |
main(String[] args)
サンプル実行用のメインメソッド Usage: java org.opengion.fukurou.util.SOAPConnect [-info/-data] … url [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, setRequestProperty |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public SOAPConnect(String url,
String pass,
String ns,
String method,
String[] ks,
String[] vs)
url - 接続するアドレスを指定します。(http://server:port/dir/file.html)pass - ユーザー:パスワード(認証接続が必要な場合)ns - 名前空間を指定します。method - メソッド名を指定します。ks - 送信するメソッドパラメーターのキー一覧を指定します。vs - 送信するパラメーターの値一覧を指定します。
public SOAPConnect(String url,
String pass,
String ns,
String method,
String xmlData)
url - 接続するアドレスを指定します。(http://server:port/dir/file.html)pass - ユーザー:パスワード(認証接続が必要な場合)ns - 名前空間を指定します。method - メソッド名を指定します。xmlData - パラメーターのXMLデータ| メソッドの詳細 |
|---|
protected URLConnection getConnection()
throws IOException
URLConnect 内の getConnectionIOException - 入出力エラーが発生したときURLConnect.getConnection()
public static void main(String[] args)
throws IOException
args - コマンド引数配列
IOException - 入出力エラーが発生した場合
|
openGion 5.8.7.0 | ||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||