IM-BIS で外部連携として利用できるWebサービスの仕様¶
IM-BIS の外部連携機能で利用できる「Webサービス」(SOAP/REST)の仕様について説明します。
Contents
リクエストの仕様¶
- IM-BIS で利用できるWebサービスのリクエスト形式に関する仕様は、以下の通りです。
SOAP/REST共通のリクエストの仕様¶
リクエストパラメータとマッピングできる画面アイテムは、ファイルアップロード以外の「入力アイテム」、「汎用アイテム」の隠しパラメータとなります。コラム
- 「非推奨アイテム」は正しく値の受け渡しが行われない場合がありますので、利用しないでください。
- 「共通マスタ系アイテム」、「関数」、「採番」はレスポンスとのマッピングの場合に利用できます。
サービスタイプ「SOAP」の仕様¶
SOAPのWebサービスでは、「文字型(Varchar)」「数値型(Number)」「日付型(Date)」「論理型(Boolean)」のデータを扱うことができます。¶
SOAPのWebサービスでのリクエストパラメータでは、「文字型(Varchar)」「数値型(Number)」「日付型(Date)」「論理型(Boolean)」のデータを扱うことができます。数値のデータについて、小数を扱う場合には、桁落ちの可能性がありますので、ご注意ください。リクエスト、レスポンスとも数値に関して有効数字範囲のチェックは行っておりません。なお、数値の精度を保証したい場合には、数値を文字型項目に格納し、関数で型変換を行ってからご利用ください。
SOAPのWebサービスでは、単一オブジェクトをパラメータとして扱うことができません。¶
IM-BIS でリクエストには、単一オブジェクトをルートとするパラメータを扱うことはできません。
IM-BIS で扱うことのできるSOAPのWebサービスには、注意事項があります。¶
IM-BIS でSOAPのWebサービスと連携するためには、以下の注意事項があります。
- IM-BIS のデータソース定義では、SOAPエンコーディング、SOAPリクエストのAttribute属性、SOAPFaultには対応しておりません。
- SOAPレスポンスヘッダを IM-BIS で扱うことはできません。
- WSDLに記載がないパラメータを扱うことはできません。
- SOAPのWSDLが1つのURLで完結していない場合には、読み込むことができません。
- SOAPのリクエスト、レスポンスパラメータでは、再帰を含むデータ構造を読み込むことはできません。
- その他、データソース定義画面でWSDLが読み込めない形式には対応しておりません。
外部連携(SOAP連携)のWSDLが対応しているデータ型¶
外部連携(SOAP連携)におけるWSDLのデータ型については、以下のXMLスキーマー(http://www.w3.org/2001/XMLSchema)(English)に対応しています。XMLスキーマ、javaのクラス、データソース定義のデータ型の関係は、以下の表を参照してください。
Type javaのクラス データソース定義のデータ型 フォーマット duration java.util.Date date “yyyy-MM-dd’T’HH:mm:ssZ” dateTime java.util.Date date “yyyy-MM-dd’T’HH:mm:ss” time java.util.Date date “hh:mm:ss” date java.util.Date date “yyyy-MM-dd” gYearMonth java.util.Date date “yyyy-MM” gYear java.util.Date date “yyyy” gMonthDay java.util.Date date “MM-dd” gDay java.util.Date date “dd” gMonth java.util.Date date “MM” string java.lang.String string normalizedString java.lang.String string token java.lang.String string language java.lang.String string Name java.lang.String string NCName java.lang.String string ID java.lang.String string IDREF java.lang.String string ENTITY java.lang.String string NMTOKEN java.lang.String string boolean java.lang.Boolean boolean float java.math.BigDecimal number double java.math.BigDecimal number decimal java.math.BigDecimal number integer java.math.BigDecimal number nonPositivInteger java.math.BigDecimal number negativeInteger java.math.BigDecimal number long java.math.BigDecimal number int java.math.BigDecimal number short java.math.BigDecimal number byte java.math.BigDecimal number nonNegativeInteger java.math.BigDecimal number positiveInteger java.math.BigDecimal number unsignedLong java.math.BigDecimal number unsignedInt java.math.BigDecimal number unsignedShort java.math.BigDecimal number unsignedbyte java.math.BigDecimal number
サービスタイプ「REST」の仕様¶
RESTのWebサービスでは、リクエストヘッダへデータマッパーから固定値やフォームの値をマッピングすることができます。¶
RESTのWebサービスでのリクエストパラメータでは、リクエストヘッダに対して、データマッパーから固定値やフォームに入力した値をマッピングすることができます。
レスポンスの仕様¶
- IM-BIS で利用できるWebサービスのレスポンス形式に関する仕様は、以下の通りです。
SOAP/REST共通のレスポンスの仕様¶
レスポンスの階層についての制約はありません。¶
IM-BIS で利用するWebサービスのレスポンスの階層について制限はありません。
レスポンスフィールドと画面アイテムでは、マッピングの際にデータ型をそろえる必要があります。¶
異なるデータ型でもマッピングを設定することはできますが、実行時に正しく動作しない可能性があります。異なるデータ型をマッピングする場合、データ型変換関数を利用して、データ型がそろうようにレスポンスフィールドの値を変換してください。
コラム
IM-BIS での外部連携で、SOAPを利用する場合には、Apache Axis2の現行仕様に基づく制限によって正常に動作しない場合があります。
お客さまがWebサービスを開発して利用する場合には、RESTでのご利用を推奨いたします。