IM-BIS for Accel Platform IM-BIS 仕様書 第20版 2024-04-01

9.2. IM-BIS で外部連携として利用できるWebサービスの仕様

IM-BIS の外部連携機能で利用できる「Webサービス」(SOAP/REST)の仕様について説明します。

9.2.1. 【REST】URIの仕様

IM-BIS では、以下のいずれかの形式を利用することができます。
URIの値の受け渡し形式によって、設定方法が異なります。
  • クエリストリング形式(パラメータ = 値)

    ../../../_images/uri_set_1.png
    上記の形式を利用する場合、リクエストに設定する必要があります。
    ../../../_images/web_ds_1.png
    データマッパーでは、以下のように表示されます。
    ../../../_images/dm_1.png
  • URIテンプレートパラメータ形式{値}

    ../../../_images/uri_set_2.png
データマッパーでは、以下のように表示されます。
../../../_images/dm_2.png

9.2.2. リクエストの仕様

  • IM-BIS で利用できるWebサービスのリクエスト形式に関する仕様は、以下の通りです。

SOAP/REST共通のリクエストの仕様

リクエストパラメータとマッピングできる画面アイテムは、ファイルアップロード以外の「入力アイテム」、「汎用アイテム」の隠しパラメータです。

コラム

  • 「互換用アイテム」は正しく値の受け渡しが行われない場合がありますので、利用しないでください。
  • 「共通マスタ系アイテム」、「関数」、「採番」はレスポンスとのマッピングの場合に利用できます。

サービスタイプ「SOAP」の仕様

SOAPのWebサービスでは、「文字型(Varchar)」「数値型(Number)」「日付型(Date)」「論理型(Boolean)」のデータを扱うことができます。

SOAPのWebサービスでのリクエストパラメータでは、「文字型(Varchar)」「数値型(Number)」「日付型(Date)」「論理型(Boolean)」のデータを扱うことができます。
数値のデータについて、小数を扱う場合には、桁落ちの可能性がありますので、注意してください。
リクエスト、レスポンスとも数値に関して有効数字範囲のチェックは行っておりません。
なお、数値の精度を保証したい場合には、数値を文字型項目に格納し、関数で型変換を行ってからご利用ください。

WSDLに記載がないパラメータを扱うことはできません。

IM-BIS の外部連携(SOAP)では、WSDLをインタフェースとしてWebサービスのパラメータを作成するため、WSDLに定義されていない情報をパラメータに含めることはできません。

SOAPのWSDLが1つのURLで完結していない場合には、読み込むことができません。

IM-BIS の外部連携(SOAP)では、異なる名前空間に属するXML SchemaをインポートしてWSDLを定義することはできません。
本項に該当する例には、 IM-Workflow の案件状態詳細情報のWebサービスがあります。
本項に合致する場合には、データソース定義画面ではエラーが発生しませんが、Webサービスの実行時にエラーが発生します。

IM-BIS で扱うことのできるSOAPのWebサービスには、注意事項があります。

IM-BIS でSOAPのWebサービスと連携するためには、以下の注意事項があります。
  • IM-BIS のデータソース定義では、SOAPエンコーディング、SOAPリクエストのAttribute属性、SOAPFaultには対応しておりません。

  • SOAPレスポンスヘッダを IM-BIS で扱うことはできません。

  • SOAPのリクエスト、レスポンスパラメータでは、再帰を含むデータ構造を読み込むことはできません。
    本事項については、「 IM-BIS リリースノート 」の制限事項も参照してください。

外部連携(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サービスでのリクエストパラメータでは、リクエストヘッダに対して、データマッパーから固定値やフォームに入力した値をマッピングすることができます。

9.2.3. レスポンスの仕様

  • IM-BIS で利用できるWebサービスのレスポンス形式に関する仕様は、以下の通りです。

SOAP/REST共通のレスポンスの仕様

レスポンスの階層についての制約はありません。

IM-BIS で利用するWebサービスのレスポンスの階層について制限はありません。

レスポンスフィールドと画面アイテムでは、マッピングの際にデータ型をそろえる必要があります。

異なるデータ型でもマッピングを設定することはできますが、実行時に正しく動作しない可能性があります。
異なるデータ型をマッピングする場合、データ型変換関数を利用して、データ型がそろうようにレスポンスフィールドの値を変換してください。

コラム

IM-BIS での外部連携で、SOAPを利用する場合には、Apache Axis2の現行仕様に基づく制限によって正常に動作しない場合があります。
お客さまがWebサービスを開発して利用する場合には、RESTでのご利用を推奨いたします。