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] : ＵＲＬを指定します。GETの場合、パラメータは ?KEY=VALです。 args[B] : [] BASIC認証のエリアへのアクセス時に指定します。
  バージョン
    4.0
  作成者
    Hiroki Nakamura
  導入されたバージョン:
    JDK5.0,

- - ### コンストラクタの概要

    コンストラクタ
    コンストラクタと説明
    `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)` サンプル実行用のメインメソッド 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(String url,
                     String pass,
                     String ns,
                     String method,
                     String[] ks,
                     String[] vs)

      コンストラクター ここでは、送信するXMLデータをキー及び値の一覧から生成するためのコンストラクターを定義しています。
      パラメータ:
        `url` - 接続するアドレスを指定します。(http://server:port/dir/file.html)
        `pass` - ユーザー：パスワード(認証接続が必要な場合)
        `ns` - 名前空間を指定します。
        `method` - メソッド名を指定します。
        `ks` - 送信するメソッドパラメーターのキー一覧を指定します。
        `vs` - 送信するパラメーターの値一覧を指定します。

    - #### SOAPConnect

          public SOAPConnect(String url,
                     String pass,
                     String ns,
                     String method,
                     String xmlData)

      コンストラクター ここでは、送信するXMLデータを直接指定するためのコンストラクターを定義しています。
      パラメータ:
        `url` - 接続するアドレスを指定します。(http://server:port/dir/file.html)
        `pass` - ユーザー：パスワード(認証接続が必要な場合)
        `ns` - 名前空間を指定します。
        `method` - メソッド名を指定します。
        `xmlData` - パラメーターのXMLデータ

  - ### メソッドの詳細

    - #### getConnection

          protected URLConnection getConnection()
                                         throws 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]"
      オーバーライド:
        `getConnection` クラス内 `URLConnect`
      戻り値:
        URLConnectionオブジェクト
      例外:
        `IOException`
      関連項目:
        `URLConnect.getConnection()`

    - #### main

          public static void main(String[] args)
                           throws 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] : ＵＲＬを指定します。GETの場合、パラメータは ?KEY=VALです。 args[B] : [] BASIC認証のエリアへのアクセス時に指定します。
      パラメータ:
        `args` - コマンド引数配列
      例外:
        `IOException`

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.