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構造で定義されます。 <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)。
|
code2Message, connect, disconnect, getCharset, getCode, getDate, getInputStream, getLength, getMessage, getMethod, getModified, getReader, getType, getUrl, readData, setCharset, setPostData, setProxy, setRequestProperty, setTimeout
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
getConnection
クラス内 URLConnect
IOException
- 入出力エラーが発生したときURLConnect.getConnection()
public static void main(String[] args) throws IOException
args
- コマンド引数配列IOException
- 入出力エラーが発生した場合6.4.5.1 (2016/04/28) FileStringのコンストラクター変更 |
6.4.5.2 (2016/05/06) fukurou.util.FileString から、fukurou.util.FileUtil に移動。 |
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.