インターネットを利用した通信プロトコル利用ガイドライン
JX 手順版

V1.0.0インターネット EDI 普及推進協議会
Japan internet EDI Association（JiEDIA）
1

目

次

1

インターネットを利用した通信プロトコル利用ガイドライン JX 手順版

作成の目的 ............ 3

2

対象プロトコルの概要 .................................................................... 4

2.1 JX 手順 ................................................................................ 4
2.1.1 JX 手順概要 ...................................................................... 4
2.1.2 JX 手順メッセージ構造 ............................................................. 5
2.1.3 エラー通知 ...................................................................... 32
2.1.4 セキュリティ仕様 ................................................................ 37
2.1.5 メッセージサンプル .............................................................. 40
2.2 推奨通信プロトコルパラメータセット .................................................... 54
改訂の要約 .............................................................................. 57

2

1

インターネットを利用した通信プロトコル利用ガイドライン JX 手順版 作成の目的

平成 17 年 3 月に財団法人流通システム開発センターよりリリースされた、メッセージ交換ガイドラインを踏襲する形でより詳細に規定が必要な項目について記述したのが、平成 20 年初版発行、平成 21 年第 2 版発行の「通信プロトコル標準化に関する調査研究報告書

インターネットを利用した通信プロトコル利用ガイドライン」である。

この度 JX 手順の仕様管理が財団法人流通システム開発センターからインターネット EDI 普及推進協議会（Japan
internet EDI Association(略称：JiEDIA／ジェディア)）に移管された。
これに伴い、「インターネットを利用した通信プロトコル利用ガイドライン」から JX 手順にかかる記載を別紙としたのが本書である。
本書の内容は逐次改定を加える予定である。本書を引用する場合は、「出典：「インターネットを利用した通信プロトコル利用ガイドライン JX 手順版」VX.X.X（インターネット EDI
普及推進協議会）」と出典を明記していただきたい。

3

2

対象プロトコルの概要

2.1 JX 手順
2.1.1 JX 手順概要
ビジネス文書（データ）を転送するための３つのメソッドより構成されるシンプルな通信プロトコルである。
ビジネス文書を転送する仕組みとして SOAP(Simple Object Access Protocol)-RPC(SOAP-Remote Procedure Call)
を用い、SOAP を転送するプロトコルとしては、HTTP(HyperText Transfer Protocol)を用いる。

（１）メソッド概要
プロトコルモデルは、クライアントを起点としサーバに対して行う以下の３つのメソッドにより構成される。
メソッド

機能

PutDocument

１ビジネス文書をサーバに送信する機能

GetDocument

サーバにある自分宛ての未取得ビジネス文書のうち、古いものから１つ取得する機能

ConfirmDocument

取得したビジネス文書の識別 ID をサーバに通知し、取得したことを通知する機能

図表 1 JX 手順を構成する３つのメソッド（２）特徴●

サーバへインターネット経由で接続し、ビジネス文書のアップロードや、ダウンロードを実現する通信プ
ロトコル。

●

クライアント側は、安価でインターネットに接続できる PC 環境で実現可能。

●

処理の起点はクライアント側であり、クライアントからサーバへの接続により処理が開始され、ビジネス
文書の送信や受信を行う。

●

低コストでインターネット EDI を実現したい企業向け。

4

2.1.2 JX 手順メッセージ構造
2.1.2.1 シンタックスルール
PutDocument/GetDocument/ConfirmDocument の３つのメソッドは、それぞれ HTTP リクエストと HTTP レスポ
ンス毎に以下の６つのメッセージが定義されている。
●

PutDocument メッセージ●

PutDocumentResponse メッセージ●

GetDocument メッセージ●

GetDocumentResponse メッセージ●

ConfirmDocument メッセージ●

ConfirmDocumentResponse メッセージ

これらのメッセージの構成は、下図のようになる。
JX 手順メッセージ
HTTP ヘッダ
HTTP コンテンツ
SOAP エンベロープ

SOAP ヘッダ
メッセージ共通要素

SOAP ボディメッセージ固有要素

図表 2 メッセージ構成

5

（１） HTTP ヘッダの記述形式
JX 手順の HTTP ヘッダ仕様は、RFC2616 に準拠する。
HTTP ヘッダ要素

説明

POST

クライアント企業、サーバ企業が相互に決めた URL

Host

サーバ企業のドメイン名およびポート番号

Content-Length

メッセージボディの長さ（バイト数）

Content-type

エンティティボディのメディアタイプ

SOAPAction

SOAP-RPC 要求の意図

図表 3 HTTP ヘッダの記述形式
HTTP ヘッダの具体例を次に示す。
POST /SOAP-RPC HTTP/1.1
Host: www.xxx.co.jp
Content-Length: 1024
Content-Type: text/xml; charset=UTF-8
SOAPAction: "http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/PutDocument"
ここに挙げた以外の HTTP ヘッダ要素については、RFC2616 を参照されたい。

6

（２）

SOAP ヘッダの記述形式

SOAP ヘッダ内のメッセージ共通の要素には MessageHeader 要素があり、すべてのメッセージは、
MessageHeader 要素を含む必要がある。
MessageHeader 要素

説明

From

メッセージ送信元の URI、又は、メールアドレス、GLN 等の、企業をユニークに識別できる情報を記載する。

To

メッセージ送信先の URI、又は、メールアドレス、GLN 等の、企業をユニークに識別できる情報を記載する。

MessageId

メッセージの一意性を保持するための識別子
形式は、”ドメイン内でユニークとなる文字列＠ドメイン名”を推奨する。

Timestamp

メッセージを作成した世界協定時（UTC）による日時
形式は、”YYYY-MM-DDThh:mm:ss”とする。

OptionalFormatType(*)

GetDocument メッセージの際、取得対象となるビジネス文書の形式を限定するためのフォーマットタイプを指定する。オプション。

OptionalDocumentType(*)

GetDocument メッセージの際、取得対象となるビジネス文書の種別を限定するためのドキュメントタイプを指定する。オプション。

図表 4 SOAP ヘッダの記述形式(*)OptionalFormatType 要素、OptionalDocumentType 要素の使用上の注意
・OptionalFormatType 要素、OptionalDocumentType 要素の両方を指定するか、両方を省略するかのどちらかである。片方だけの指定は認めない。
・GetDocument の場合にのみ有効となる。GetDocument 以外のリクエストメッセージ、及び、レスポンスメッセー
ジの場合は、これらの要素を無視し、機能上に影響しないものとする。
・両方を省略した場合の GetDocument は、ビジネス文書の形式と種別を指定しない GetDocument 仕様となる。すなわち自企業宛のすべてのビジネス文書が対象となる。

（３）

SOAP ボディの記述形式

SOAP ボディ内のメッセージ固有の要素には、以下の要素があり、いずれかの要素が含まれる。
●

PutDocument 要素●

PutDocumentResponse 要素●

GetDocument 要素●

GetDocumentResponse 要素●

ConfirmDocument 要素●

ConfirmDocumentResponse 要素

主要な要素の説明を以下に記す。

①

PutDocument 要素

7

PutDocument 要素は、PutDocument メッセージの SOAP ボディ要素に含まれる。下記の要素を含む。
PutDocument 要素

説明

MessageId

送信ビジネス文書の一意性を保持するための識別子
重複送信検出に用いる。形式は、“ドメイン内でユニークとなる文字列＠
ドメイン名”を推奨する。

Data

Base64 にエンコードされた送信ビジネス文書

SenderId

ビジネス文書送信企業の識別子

ReceiverId

ビジネス文書受信企業の識別子

FormatType(*)

業界毎に定めたビジネス文書の形式

DocumentType(*)

業界毎に定めたビジネス文書の種別

CompressType

ビジネス文書の圧縮・解凍形式
ビジネス文書の圧縮・解凍は、上位アプリケーションで実施する。
ビジネス文書が圧縮されている場合、その圧縮形式を指定する。
[図表 11 圧縮形式指定の代表的な MIME メディアタイプ]参照

図表 5 PutDocument の要素(*)FormatType 要素、DocumentType 要素の使用上の注意
・PutDocument メッセージの、FormatType と、DocumentType の両要素の値が、サーバ側で登録されているものかを確認する。登録がない場合、SOAP Fault を返す。
尚、業界毎に定義しているビジネス文書以外のビジネス文書を交換する場合は、当事者間で事前に使用する
ビジネス文書の形式と種別の文字列を決定し、サーバに登録しておくこと。

8

②

PutDocumentResponse 要素
PutDocumentResponse 要素は、PutDocumentResponse メッセージの SOAP ボディ要素に含まれる。下記の要素を含む。
PutDocumentResponse 要素

説明

PutDocumentResult

PutDocument メソッドの結果
true か false のどちらかを指定する。サーバ側はビジネス文書を正常に受信できた場合、true を返す。同じ MessageId により重複受信を検知した
場合は、false を返す。

図表 6 PutDocumentResponse の要素③

GetDocument 要素
GetDocument 要素は、GetDocument メッセージの SOAP ボディ要素に含まれる。下記の要素を含む。
GetDocument 要素

説明

ReceiverId

ビジネス文書受信企業の識別子

図表 7 GetDocument の要素

9GetDocumentResponse 要素④

GetDocumentResponse 要素は、GetDocumentResponse メッセージの SOAP ボディ要素に含まれる。下記の要素を含む。
GetDocumentResponse 要素

説明

GetDocumentResult

GetDocument メソッドの結果
true か false のどちらかを指定する。サーバ側はビジネス文書が存在して送信できた場合、true を返す。ビジネス文書が存在しない場合は、falseを返す。
尚、GetDocument における、ビジネス文書の形式と種別限定の指定方法に関しては表下（※）注意を参照。

MessageId

受信ビジネス文書の一意性を保持するための識別子
形式は、“ドメイン内でユニークとなる文字列＠ドメイン名”を推奨する。クライアントがビジネス文書を正常に受信出来たことをサーバに通知するために、この識別子を受信確定通知で用いる。

Data

Base64 にエンコードされた受信ビジネス文書

SenderId

ビジネス文書送信企業の識別子

ReceiverId

ビジネス文書受信企業の識別子

FormatType(*)

業界毎に定めたビジネス文書の形式

DocumentType(*)

業界毎に定めたビジネス文書の種別

CompressType

ビジネス文書の圧縮・解凍形式。
ビジネス文書の圧縮・解凍は、上位アプリケーションで実施する。
ビジネス文書が圧縮されている場合、その圧縮形式を指定する。
[図表 11 圧縮形式指定の代表的な MIME メディアタイプ]参照

図表 8 GetDocumentResponse の要素(※)注意
ＪＸ手順クライアント動作：
・ 取得するビジネス文書の形式と種別 を限定しない場合は、 SOAP ヘッダ部に OptionalFormatType、
OptionalDocumentType の両要素のない GetDocument リクエストメッセージを送信する。
・ ビ ジ ネ ス 文 書 の 形 式 と 種 別 を 限 定 す る 場 合 は 、 SOAP ヘ ッ ダ 部 の OptionalFormatType 、OptionalDocumentType の両要素に、取得したいビジネス文書の形式と種別を指定する。
ＪＸ手順サーバ動作：
・ SOAP ヘッダ部に OptionalFormatType、 OptionalDocumentType 両要素がない場合は、サーバ側のビジネス文書を蓄えている永続記憶に存在するビジネス文書中で、未受信、かつ、最も登録の古いものを送信する。

10

ビジネス文書が存在しない場合は、GetDocumentResult 要素で false を返す。
・ SOAP ヘッダ部に OptionalFormatType、 OptionalDocumentType 両要素が指定された場合は、ビジネス文
書を蓄えている永続記憶に存在するビジネス文書中で、指定されたビジネス文書の形式と種別を持つ、未受
信、かつ、最も登録の古いものを送信する。指定されたビジネス文書の形式と種別を持つビジネス文書が存在しない場合、GetDocumentResult 要素で false を返す。
・ 尚、OptionalFormatType、 OptionalDocumentType が片方のみの指定の場合、SOAP

Fault を応答する。

・ GutDocument メッセージの、OptionalFormatType 、OptionalDocumentType の両要素の値が、サーバ側で登録されているものかを確認する。登録がない場合、SOAP Fault を返す。尚、業界毎に定義しているビジネス文書以外のビジネス文書を交換する場合は、当事者間で事前に使用するビジネス文書の形式と種別の文字列を決定し、サーバに登録しておくこと。

11ConfirmDocument 要素⑤

ConfirmDocument 要素は、ConfirmDocument メッセージの SOAP ボディ要素に含まれる。下記の要素を含む。
ConfirmDocument 要素

説明

MessageId

GetDocument メソッドで取得したビジネス文書の MessageId を指定する。

SenderId

ビジネス文書送信企業の識別子

ReceiverId

ビジネス文書受信企業の識別子

図表 9 ConfirmDocument の要素

ConfirmDocumentResponse 要素⑥

ConfirmDocumentResponse 要素は、ConfirmDocumentResult メッセージの SOAP ボディ要素に含まれる。下記の要素を含む。
ConfirmDocumentResponse 要素

説明

ConfirmDocumentResult

ConfirmDocument メソッドの結果
true か false のどちらかを指定する。サーバ側は正常に受信確定した場
合、true を返す。同じ MessageId が重複して通知された場合は、false を返す。

図表 10 ConfirmDocumentResponse の要素

12compressType 要素※

ビジネス文書の圧縮は、業務アプリケーション(レベル)で実施する。JX 手順では、送信されるビジネス文書が圧縮されているか否かを指定する。ビジネス文書が圧縮されている場合、PutDocument メッセージ等のCompressType 要素にその圧縮形式を指定する。圧縮されていない場合、長さ０の文字列を指定する。また、圧縮対象は１ファイルのみとする。圧縮形式（アーカイブ形式）は、IANA(The Internet Assigned Numbers Authority:
https://www.iana.org/)によって管理されている公式の MIME メディアタイプを使用して指定する。ここで IANA は、
インターネット上のプロトコルに関する様々なパラメタ(数値や記号)を管理する団体である。

代表的な MIME メディアタイプを下記に示す。
圧縮形式

拡張子

説明

MIME メディアタイプ

JAR

jar

Java Archiver 形式

application/java-archiver

Tar

tar

Tape Archiver 形式

application/x-tar

ZIP

zip

ZIP 形式

application/zip

GZIP

gz

GNU ZIP 形式

application/gzip

図表 11

圧縮形式指定の代表的な MIME メディアタイプ（参考）尚、圧縮されているビジネス文書を伸張(解凍)する際にパスワードの入力が必要な場合には、事前に通信相手にその旨を通知しなればいけない。

13

2.1.2.2 シーケンス（１） 階層別のシーケンス
本節では、JX 手順における通信のシーケンスについて述べる。
JX 手順によるビジネス文書の送受信は、図表 12 のようなレイヤ構造になる。尚、SOAP-RPC レベルでは、ビジネス文書の保存や状態変更の業務アプリケーションレベルの内容まで含まれる。
SOAP-RPC

SOAP-RPC レベル

SOAP-RPC

HTTP 通信

HTTP レベルHTTP 通信

図表 12 JX 手順通信レイヤ構造（ａ）⚫

JX 手順レベル（SOAP-RPC レベル）のシーケンス
ビジネス文書の送信

JX 手順で規定されている送信の流れを図表 13 に示す。この例は通信経路上で異常が発生しなかった場合であ
る。

ア
プ
リ
ケ
ー
シ
ョ
ン
よ
り

JX 手順
クライアント

JX 手順
サーバ

ビジネス文書②ビジネス文書とMessageId=1234 を保存し状態を受信済みに更新①ビジネス文書とMessageId=1234 の保存

永続記憶
PutDocument
MessageId=1234

永続記憶

PutDocumentResponse
ビジネス文書③ビジネス文書の状態を送信済みに
変更

ア
プ
リ
ケ
ー
シ
ョ
ン
へ

④ビジネス文書の状態を AP 処理済みに変更

図表 13 JX 手順レベルの送信シーケンス

クライアント側は、送信するビジネス文書と MessageId を永続記憶に保存（①）し、PutDocument でビジネス文書を送信する。
サーバ側は、受信したビジネス文書と MessageId を永続記憶に保存（②）後、ビジネス文書の状態を受信済みに更新し PutDocumentResponse を返す。尚、PutDocument に異常があった場合は、PutDocumentResponse の代わ
りに SOAP Fault を返す。
クライアント側は、PutDocumentResponse によりビジネス文書の状態を送信済みに変更する（③）
。

14サーバ側は、ビジネス文書をアプリケーションに渡した後に、ビジネス文書の状態をアプリケーション処理済みに変更する（④）
。
JX 手順では、永続記憶を利用した信頼性保証機能を実現している。信頼性保証機能の詳細については、（２）信頼性保証機能を参照されたい。

⚫

ビジネス文書の受信

JX 手順で規定されている受信の流れを図表 14 に示す。この例は通信経路上で異常が発生しなかった場合である。
JX 手順
クライアント

JX 手順
サーバ①ビジネス文書とMessageId=1234 を保存し状態を未送信に更新

ビジネス文書

ア
プ
リ
ケ
ー
シ
ョ
ン
よ
り

永続記憶

②ビジネス文書とMessageId=1234 を保存し状態を受信済みに更新

GetDocument

GetDocumentResponse
ア
プ
リ
ケ
ー
シ
ョ
ン
へ

MessageId=1234

永続記憶ConfirmDocument
ビジネス文書④ビジネス文書の状態を AP処理済みに変更

MessageId=1234

ConfirmDocumentResponse③ビジネス文書の状態を送信済みに変更

図表 14 JX 手順レベルの受信シーケンス
サーバ側は、送信するビジネス文書と MessageId を永続記憶に保存し、ビジネス文書の状態を未送信にする（①）
。
クライアント側より GetDocument でビジネス文書の受信要求を行う。
サーバ側は、未送信の古いビジネス文書から GetDocumentResponse でクライアント側にビジネス文書を渡す。
尚、送信ビジネス文書が無い場合は、GetDocumentResponse で GetDocumentResult= false を返さなければならい。また、GetDocument に異常があった場合は、GetDocumentResponse の代わりに SOAP Fault を返す。
クライアント側は、GetDocumentResponse により受信したビジネス文書と MessageId を永続記憶に保存（②）
後、ビジネス文書の状態を受信済みに更新し ConfirmDocument で受信確定通知をサーバ側に送信する。
サーバ側は、ビジネス文書の状態を送信済みに変更（③）し、ConfirmDocumentResponse をクライアント側に返す。尚、ConfirmDocument に異常があった場合は、ConfirmDocumentResponse の代わりに SOAP Fault を返す。
クライアント側は、ビジネス文書をアプリケーションに渡した後に、ビジネス文書の状態をアプリケーション処
理済みに変更する（④）
。

15サーバ側に未送信のビジネス文書が複数あった場合は、GetDocument と ConfirmDocument を交互に呼び出す必要がある。尚、GetDocument 後、ConfirmDocument を実行せずに GetDocument を実行すると前回の GetDocument
で受信したビジネス文書が受信される。
JX 手順では、永続記憶を利用した信頼性保証機能を実現している。信頼性保証機能の詳細については、（２）信頼性保証機能を参照されたい。

（ｂ）⚫

HTTP レベルのシーケンス
ビジネス文書の送信

HTTP レベルでのビジネス文書の送信シーケンスを図表 15 に示す。
JX 手順
クライアント

JX 手順
サーバ

HTTP リクエスト
PutDocument

PutDocumentResponse
HTTP レスポンス

図表 15 HTTP レベルの送信シーケンス⚫

ビジネス文書の受信

HTTP レベルでのビジネス文書の受信シーケンスを図表 16 に示す。
JX 手順
クライアント

JX 手順
サーバ

HTTP リクエスト
GetDocument

GetDocumentResponse
HTTP レスポンス

HTTP リクエスト
ConfirmDocument

ConfirmDocumentResponse
HTTP レスポンス

16図表 16 HTTP レベルの受信シーケンス（２） 信頼性保証機能
インターネットでは相手システムまでの通信経路の信頼性を保証することができない。そのため、JX 手順では、ビ
ジネス文書を確実に送り届けるための仕組みである信頼性保証機能を備えている。そのため、JX 手順レベルの階層で通信の信頼性を保証することができる。
JX 手順で規約されている信頼性保証機能は以下の通りである。

種別

内容

欠落防止

通信経路上の異常により、送信されたデータが受信側に到達しなかった場合、それを検出して再度データを送信する。

重複破棄

先発のデータと再送したデータの両方が受信側システムに到達した場合に、受信側のアプリケー
ションに同じデータを渡さない。

図表 17 信頼性保証機能（ａ） 欠落防止⚫

ビジネス文書の送信

クライアント側は、PutDocument でビジネス文書を送信後、SOAP Fault を受け取った場合や
PutDocumentResponse がクライアントで定める所定時間を過ぎても返って来なかった場合には、PutDocument を再送信しなければならない。尚、再送信はクライアントが定める所定回数リトライを行い、それでも送信できない
場合はリトライオーバとする。

ア
プ
リ
ケ
ー
シ
ョ
ン
よ
り

JX 手順
クライアント

ビジネス文書

JX 手順
サーバ①ビジネス文書とMessageId=1234 の保存

永続記憶②ビジネス文書とMessageId=1234 を保存し状態を受信済みに更新

PutDocument
MessageId=1234
PutDocument
MessageId=1234

永続記憶

PutDocumentResponse
ビジネス文書③ビジネス文書の状態を送信済みに変更④ビジネス文書の状態を AP 処理済みに変更

17

ア
プ
リ
ケ
ー
シ
ョ
ン
へ

図表 18 ビジネス文書送信時の欠落防止

18⚫

ビジネス文書の受信

クライアント側は、GetDocument でビジネス文書の受信要求後、GetDocumentResponse がクライアントで定める所定時間を過ぎても返って来なかった場合には、GetDocument で再受信要求しなければならない。尚、再受信要
求はクライアントが定める所定回数リトライを行い、それでも受信できない場合はリトライオーバとする。
サーバ側は、GetDocumentResponse 後 ConfirmDocument を受信する前に、GetDocument を受信した場合は前回のビジネス文書を GetDocumentResponse で返さなければならない。
JX 手順
クライアント

JX 手順
サーバ①ビジネス文書とMessageId=1234 を保存し状態を未送信に更新

ビジネス文書

ア
プ
リ
ケ
ー
シ
ョ
ン
よ
り

永続記憶
GetDocument

GetDocumentResponse
MessageId=1234②ビジネス文書とMessageId=1234 を保存し状態を受信済みに更新

ア
プ
リ
ケ
ー
シ
ョ
ン
へ

GetDocument

GetDocumentResponse
MessageId=1234

永続記憶ConfirmDocument
ビジネス文書④ビジネス文書の状態をAP 処理済みに変更

MessageId=1234

ConfirmDocumentResponse

図表 19 ビジネス文書受信時の欠落防止

19③ビジネス文書の状態を送信済みに変更

（ｂ） 重複破棄⚫

ビジネス文書の送信

クライアント側は、PutDocument でビジネス文書を送信後、PutDocumentResponse がクライアントで定める所
定時間を過ぎても返って来なかったため、PutDocument を再送信する。
サーバ側は１回目の PutDocument でビジネス文書を既に受信済みのため、２回目の受信ビジネス文書を破棄
し、PutDocumentResponse で PutDocumentResult=false を返さなければならない。ビジネス文書の重複チェック
は PutDocument の MessageId を使用する。
クライアント側は、PutDocumentResponse が PutDocumentResult=false の場合、既に送信済みと見なし、ビジネス文書の状態を送信済みに変更する。
サーバ側での重複処理のための MessageId を保持する期間はサーバ企業が決定し、クライアント企業に通知しなければならない。

ア
プ
リ
ケ
ー
シ
ョ
ン
よ
り

JX 手順
クライアント

ビジネス文書

JX 手順
サーバ①ビジネス文書とMessageId=1234 の保存②ビジネス文書とMessageId=1234 を保存し状態を受信済みに更新

永続記憶
PutDocument
MessageId=1234

永続記憶

PutDocumentResponse
ビジネス文書PutDocument

ア
プ
リ
ケ
ー
シ
ョ
ン
へ

③ビジネス文書の状態をAP 処理済みに変更

MessageId=1234
PutDocumentResponse④受信ビジネス文書の破棄

PutDocumentResult=false⑤ビジネス文書の状態を送信済みに変更

図表 20 ビジネス文書送信時の重複破棄

20

⚫

ビジネス文書の受信

クライアント側は ConfirmDocument 送信後、サーバ側からの ConfirmDocumentResponse がクライアントで定める所定時間を過ぎても返って来なかったため、ConfirmDocument を再送信する。
サーバ側は１回目の ConfirmDocument でビジネス文書は既に送信済みのため、ConfirmDocumentResponse でConfirmDocumentResult=false を返さなければならない。尚、ConfirmDocument で指定された MessageId が不明（サーバ側からの GetDocumentResponse で返した MessageId 以外）な場合は、ConfirmDocumentResponse の代
わりに SOAP Fault を返す。
クライアント側は、ConfirmDocumentResponse が ConfirmDocumentResult=false の場合は、受信確定通知済みと見なし、ConfirmDocumentResponse が正常時と同様の処理を行う。
尚、クライアント側は、GetDocumentResponse により受信したビジネス文書を永続記憶に保存後、ConfirmDocument が完了する前に GetDocument を送信し、サーバ側から前回と同じビジネス文書が返された場合
は、既に受信済みのため破棄しなければならない。
JX 手順
クライアント

JX 手順
サーバ①ビジネス文書とMessageId=1234 を保存し状態を未送信に更新

ビジネス文書

永続記憶②ビジネス文書とMessageId=1234 を保存し状態を受信済みに更新

ア
プ
リ
ケ
ー
シ
ョ
ン
へ

ア
プ
リ
ケ
ー
シ
ョ
ン
よ
り

GetDocument

GetDocumentResponse
MessageId=1234

永続記憶ConfirmDocument
ビジネス文書MessageId=1234
ConfirmDocumentResponse⑤ビジネス文書の状態をAP 処理済みに変更③ビジネス文書の状態を送信済みに変更

ConfirmDocument
MessageId=1234
ConfirmDocumentResponse
ConfirmDocumentResult=false

図表 21 受信確定通知の重複処理

21④ビジネス文書は既に送信済み2.1.2.3 メッセージ交換定義（WSDL）
WSDL（Web Services Description Language）は、Web サービスを記述するための、XML をベースとした言語仕様である。それぞれの Web サービスがどのような機能を持つのか、それを利用するためにはどのような要求をすればいいのか等を記述する方法が定義されている。
JX 手順の WSDL・

JX 手順（旧称、SOAP-RPC） の WSDL には、2004 年度版と 2007 年度版がある。2007 年度版は、ビジネス文書の形
式と種別を限定した取得機能を 2004 年度版との互換性を考慮して作成した WSDL である。2004 年度版と 2007 年度版のそれぞれの JX 手順クライアントと JX 手順サーバの間の接続可否の関係を下表に示す。

2004 年度版 WSDL のJX 手順クライアント
2007 年度版 WSDL のJX 手順クライアント

2004 年度版 WSDL のJX 手順サーバ
ビジネス文書の形式と種別を限定しない機能で接続できる
ビジネス文書の形式と種別を限定しない機能で接続できる（サーバ製品の仕様に依存）

2007 年度版 WSDL のJX 手順サーバ
ビジネス文書の形式と種別を限定しない機能で接続できる
ビジネス文書の形式と種別を限定した機能で接続できる。

2004 年度版：<?xml version="1.0" encoding="utf-8"?><definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:s0="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"
xmlns="http://schemas.xmlsoap.org/wsdl/"><types><s:schema elementFormDefault="qualified"targetNamespace="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"><s:element name="PutDocument"><s:complexType><s:sequence><s:element minOccurs="1" maxOccurs="1" name="messageId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="data" type="s:base64Binary" /><s:element minOccurs="1" maxOccurs="1" name="senderId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="receiverId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="formatType" type="s:string" />22

<s:element minOccurs="1" maxOccurs="1" name="documentType" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="compressType" type="s:string" /></s:sequence></s:complexType></s:element><s:element name="PutDocumentResponse"><s:complexType><s:sequence><s:element minOccurs="1" maxOccurs="1" name="PutDocumentResult" type="s:boolean" /></s:sequence></s:complexType></s:element><s:element name="MessageHeader" type="s0:MessageHeader" /><s:complexType name="MessageHeader"><s:sequence><s:element minOccurs="1" maxOccurs="1" name="From" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="To" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="MessageId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="Timestamp" type="s:string" /></s:sequence></s:complexType><s:element name="GetDocument"><s:complexType><s:sequence><s:element minOccurs="1" maxOccurs="1" name="receiverId" type="s:string" /></s:sequence></s:complexType></s:element><s:element name="GetDocumentResponse"><s:complexType><s:sequence><s:element minOccurs="1" maxOccurs="1" name="GetDocumentResult" type="s:boolean" /><s:element minOccurs="1" maxOccurs="1" name="messageId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="data" type="s:base64Binary" /><s:element minOccurs="1" maxOccurs="1" name="senderId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="receiverId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="formatType" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="documentType" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="compressType" type="s:string" /></s:sequence></s:complexType></s:element><s:element name="ConfirmDocument"><s:complexType><s:sequence><s:element minOccurs="1" maxOccurs="1" name="messageId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="senderId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="receiverId" type="s:string" /></s:sequence></s:complexType></s:element><s:element name="ConfirmDocumentResponse"><s:complexType><s:sequence><s:element minOccurs="1" maxOccurs="1" name="ConfirmDocumentResult" type="s:boolean" /></s:sequence></s:complexType>23

</s:element></s:schema></types><message name="PutDocumentSoapIn"><part name="parameters" element="s0:PutDocument" /></message><message name="PutDocumentSoapOut"><part name="parameters" element="s0:PutDocumentResponse" /></message><message name="PutDocumentMessageHeader"><part name="MessageHeader" element="s0:MessageHeader" /></message><message name="GetDocumentSoapIn"><part name="parameters" element="s0:GetDocument" /></message><message name="GetDocumentSoapOut"><part name="parameters" element="s0:GetDocumentResponse" /></message><message name="GetDocumentMessageHeader"><part name="MessageHeader" element="s0:MessageHeader" /></message><message name="ConfirmDocumentSoapIn"><part name="parameters" element="s0:ConfirmDocument" /></message><message name="ConfirmDocumentSoapOut"><part name="parameters" element="s0:ConfirmDocumentResponse" /></message><message name="ConfirmDocumentMessageHeader"><part name="MessageHeader" element="s0:MessageHeader" /></message><portType name="JXMSTransferSoap"><operation name="PutDocument"><documentation>ドキュメントの送信(Client To Server)</documentation><input message="s0:PutDocumentSoapIn" /><output message="s0:PutDocumentSoapOut" /></operation><operation name="GetDocument"><documentation>ドキュメントの受信(Client From Server)</documentation><input message="s0:GetDocumentSoapIn" /><output message="s0:GetDocumentSoapOut" /></operation><operation name="ConfirmDocument"><documentation>ドキュメントの受信確認</documentation><input message="s0:ConfirmDocumentSoapIn" /><output message="s0:ConfirmDocumentSoapOut" /></operation></portType><binding name="JXMSTransferSoap" type="s0:JXMSTransferSoap"><soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /><operation name="PutDocument"><soap:operation soapAction="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/PutDocument"style="document" /><input><soap:body use="literal" /><soap:header message="s0:PutDocumentMessageHeader" part="MessageHeader" use="literal" /></input><output><soap:body use="literal" /><soap:header message="s0:PutDocumentMessageHeader" part="MessageHeader" use="literal" /></output></operation><operation name="GetDocument"><soap:operation soapAction="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/GetDocument"style="document" /><input><soap:body use="literal" /><soap:header message="s0:GetDocumentMessageHeader" part="MessageHeader" use="literal" />24</input><output><soap:body use="literal" /><soap:header message="s0:GetDocumentMessageHeader" part="MessageHeader" use="literal" /></output></operation><operation name="ConfirmDocument"><soap:operation soapAction="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/ConfirmDocument"style="document" /><input><soap:body use="literal" /><soap:header message="s0:ConfirmDocumentMessageHeader" part="MessageHeader" use="literal" /></input><output><soap:body use="literal" /><soap:header message="s0:ConfirmDocumentMessageHeader" part="MessageHeader" use="literal" /></output></operation></binding><service name="JXMSTransfer"><documentation>SOAP-RPC メッセージ転送サービス</documentation><port name="JXMSTransferSoap" binding="s0:JXMSTransferSoap"><soap:address location="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/JXMSTransfer" /></port></service></definitions>※ 上記locationの下線部は、実際のサーバURIに置き換えて使用される。

25

2007 年度版：<?xml version="1.0" encoding="utf-8"?><!-- JX 手順 WSDL 2008 年 3 月版-->
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:s0="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"
xmlns="http://schemas.xmlsoap.org/wsdl/"><types><s:schema elementFormDefault="qualified" targetNamespace="http://www.dsri.jp/edi-bp/2004/jedicosxml/client-server"><s:element name="PutDocument"><s:complexType><s:sequence><s:element minOccurs="1" maxOccurs="1" name="messageId"
type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="data"
type="s:base64Binary" /＞<s:element minOccurs="1" maxOccurs="1" name="senderId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="receiverId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="formatType"
type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="documentType" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="compressType" type="s:string" /></s:sequence></s:complexType></s:element><s:element name="PutDocumentResponse"><s:complexType><s:sequence><s:element minOccurs="1" maxOccurs="1" name="PutDocumentResult" type="s:boolean" /></s:sequence></s:complexType></s:element><s:element name="MessageHeader" type="s0:MessageHeader" /><s:complexType name="MessageHeader"><s:sequence><s:element minOccurs="1" maxOccurs="1" name="From" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="To" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="MessageId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="Timestamp" type="s:string" /><s:element minOccurs="0" maxOccurs="1" name="OptionalFormatType"
type="s:string" /><s:element minOccurs="0" maxOccurs="1" name="OptionalDocumentType"
type="s:string" /></s:sequence></s:complexType><s:element name="GetDocument">

26

<s:complexType><s:sequence><s:element minOccurs="1" maxOccurs="1" name="receiverId" type="s:string" /></s:sequence></s:complexType></s:element><s:element name="GetDocumentResponse"><s:complexType><s:sequence><s:element minOccurs="1" maxOccurs="1" name="GetDocumentResult" type="s:boolean" /><s:element minOccurs="1" maxOccurs="1" name="messageId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="data"
type="s:base64Binary" /><s:element minOccurs="1" maxOccurs="1" name="senderId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="receiverId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="formatType"
type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="documentType" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="compressType" type="s:string" /></s:sequence></s:complexType></s:element><s:element name="ConfirmDocument"><s:complexType><s:sequence><s:element minOccurs="1" maxOccurs="1" name="messageId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="senderId" type="s:string" /><s:element minOccurs="1" maxOccurs="1" name="receiverId" type="s:string" /></s:sequence></s:complexType></s:element><s:element name="ConfirmDocumentResponse"><s:complexType><s:sequence><s:element minOccurs="1" maxOccurs="1" name="ConfirmDocumentResult" type="s:boolean"/></s:sequence></s:complexType></s:element></s:schema></types><message name="PutDocumentSoapIn"><part name="parameters" element="s0:PutDocument" /></message><message name="PutDocumentSoapOut"><part name="parameters" element="s0:PutDocumentResponse" /></message><message name="PutDocumentMessageHeader"><part name="MessageHeader" element="s0:MessageHeader" /></message><message name="GetDocumentSoapIn"><part name="parameters" element="s0:GetDocument" /></message>

27

<message name="GetDocumentSoapOut"><part name="parameters" element="s0:GetDocumentResponse" /></message><message name="GetDocumentMessageHeader"><part name="MessageHeader" element="s0:MessageHeader" /></message><message name="ConfirmDocumentSoapIn"><part name="parameters" element="s0:ConfirmDocument" /></message><message name="ConfirmDocumentSoapOut"><part name="parameters" element="s0:ConfirmDocumentResponse" /></message><message name="ConfirmDocumentMessageHeader"><part name="MessageHeader" element="s0:MessageHeader" /></message><portType name="JXMSTransferSoap"><operation name="PutDocument"><documentation>ドキュメントの送信(Client To Server)</documentation><input message="s0:PutDocumentSoapIn" /><output message="s0:PutDocumentSoapOut" /></operation><operation name="GetDocument"><documentation>ドキュメントの受信(Client From Server)</documentation><input message="s0:GetDocumentSoapIn" /><output message="s0:GetDocumentSoapOut" /></operation><operation name="ConfirmDocument"><documentation>ドキュメントの受信確認</documentation><input message="s0:ConfirmDocumentSoapIn" /><output message="s0:ConfirmDocumentSoapOut" /></operation></portType><binding name="JXMSTransferSoap" type="s0:JXMSTransferSoap"><soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /><operation name="PutDocument"><soap:operation soapAction="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/PutDocument"style="document" /><input><soap:body use="literal" /><soap:header message="s0:PutDocumentMessageHeader" part="MessageHeader" use="literal" /></input><output><soap:body use="literal" /><soap:header message="s0:PutDocumentMessageHeader" part="MessageHeader" use="literal" /></output></operation><operation name="GetDocument"><soap:operation soapAction="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/GetDocument"style="document" /><input><soap:body use="literal" /><soap:header message="s0:GetDocumentMessageHeader" part="MessageHeader" use="literal" /></input>28

<output><soap:body use="literal" /><soap:header message="s0:GetDocumentMessageHeader" part="MessageHeader" use="literal" /></output></operation><operation name="ConfirmDocument"><soap:operation
soapAction="http://www.dsri.jp/edi-bp/2004/jedicos-xml/clientserver/ConfirmDocument" style="document" /><input><soap:body use="literal" /><soap:header message="s0:ConfirmDocumentMessageHeader" part="MessageHeader" use="literal"/></input><output><soap:body use="literal" /><soap:header message="s0:ConfirmDocumentMessageHeader" part="MessageHeader" use="literal"/></output></operation></binding><service name="JXMSTransfer"><documentation>JX 手順メッセージ転送サービス</documentation><port name="JXMSTransferSoap" binding="s0:JXMSTransferSoap"><soap:address location="http://XXXX/XXX" /></port></service></definitions>※上記の下線部が、2004 年度版 WSDL との差分である。location 属性の下線部分は、実際のサーバ URI に置き換えて使用される。

29

2.1.2.4 JX 手順の動作の全体フロー
下図に、ビジネス文書の形式と種別を限定しない 2004 年度版 JX 手順の全体処理フローを示す。

2004年度版WSDL対応のJX手順サーバ④messageId重複確認。DATAとmessageIdを永続記憶へ格納。受信済みに変更。

HTTPレスポンス

永続記憶⑤格納成功でtrue、重複
messageId の場合false を返す。
異常があったときはSOAP
Fault を返す。

PutDocument

AP⑦APへDATAを渡し。永続記
憶の状態をAP処理済みに変更。

DATA

１件送信

※：APへはData、送信者、ﾒｯｾｰｼﾞ種を渡す(推奨)
DATA

AP
DATA

永続
記憶

①送信開始。messageId作成②messageIdとDATAを永続
記憶に格納

永続
記憶

②DATAとmessageId を格納。
状態を未送信とする。

永続記憶に以下の情報を保持することを想定
・messageId
・senderId・receiverId
・formatType・documentType,・compressType・data（ﾋﾞｼﾞﾈｽ文書）
・登録順番を認識する情報
・取得状態

取得要求

GetDocument
DATA

１件取得

取得の通知
⑧送信企業、受信企業のmessageId の永続記憶の状態を送信済に変更。

ConfirmDocument
取得通知確認⑨正常なら結果true、重複はfalseを返す。異常があった
ときはSOAP Fault を返す

AP
DATA

DATA

１件送信確認①登録開始。messageId作成。

⑤受信企業宛てのDATAの未送信のもっとも古いものを永続記憶より取得。対象が無ければ結果をfalseで返す.
異常があったときはSOAP Fault を返す。

2004年度版WSDL対応のJX手順クライアント

HTTPリクエスト③messageId,送信企業、受信
企業、形式等とDATAを送信⑥ResultがTrueなら送信済みに、Falseならエラーに変更③取得開始。
④受信企業を指定し送信⑥受信後、messageId、他とDATAを永続記憶に格納（但しmessageId が重複する場合破棄）, 受信済みとする

永続
記憶

AP
messageId
senderId
receiverId
formatType
documentType,他⑦ messageId, 送信企業、受信企業を設定しConfirm送信。
⑩ResultがFalseでも、True
でもAPへDATAを渡し、永続
記憶の状態をAP処理済みへ
変更。

DATA

DATA

永続
記憶

AP

※：APへはData、送信者、ﾒｯｾｰｼﾞ種を渡す(推奨)30下図に、ビジネス文書の形式と種別を限定する 2007 年度版 JX 手順の全体処理フローを示す。
2007年度版WSDL対応のJX手順サーバ
DATA①登録開始。messageId作成。

AP②DATAとmessageId、他 を格納。状態を未送信とする。

サーバ管理
の受信先と
文書種リスト

DATA

永続
記憶

(5)MSG種指定があった場合、受信者とビジネス文書種指定の文字列がサーバ管理情報にあるかを確認し、無ければSOAP Fault を返す。
(6)受信企業宛てでかつビジネス文書種指定のDATAの未送信のものでもっとも古いもの
を永続記憶より取得し返す。対
象が無ければfalseで返す※：PuｔDocumetは同様のため省略※OptionalFormatType / OptionalDocumentType：種別指定(2) ビジネス文書種指定を含む
GetDocument送信。
(1)ビジネス文書種指定をビジクライアント管理(3)2004版WSDL対応のJXクライアントから
ネス文書種リストで確認し、の送信先とGetDocumentも処理できることあればビジネス文書種指文書種リスト(4) 2004版WSDL対応のJXサーバに2007
定種を指定して取得開始
年度WSDLのJXクライアントから、ビジネ
ス文書種指定無しでアクセスできること。
③取得開始。

取得要求

GetDocument
DATA

１件取得

(7) 2007年度WSDLのJXサーバは、

AP④受信企業を指定し送信⑥受信後、messageId、他とDATAを永続記憶に格納（但しmessageId が重複する場合、破棄）、 受信済みとする

messageId
senderId
receiverId
formatType
documentType,compressType

GetDocument以外で指定された、ビジネス文書種指定を無視する。

ビジネス文書種指定がない場
合、受信企業宛てのDATAの未送信のもっとも古いものを永続記憶より取得。対象が無ければ結果をfalseで返す.

HTTPリクエスト

異常があったときはSOAP
Fault を返す。

HTTPレスポンス⑧送信企業、受信企業のmessageId の永続記憶の状態を送信済に変更。

ConfirmDocument

取得の通知
取得通知確認⑨正常なら結果true、重複はfalseを返す。 messageIdが不明や、異常があったときはSOAP Fault を返す(8) 送信したビジネス文書
種指定と受信した
ビジネス文書種指定がことなる場合、エラー

DATA

永続
記憶
2007年度WSDL対応のJX手順ｸﾗｲｱﾝﾄ⑦ messageId, 送信企業、受信企業を設定しConfirm送信。
⑩ ResultがFalseでも、TrueでもAPへDATAを渡し、永続記憶の状態をAP処理済みへ変更。

AP※：APへはData、送信者、ﾒｯｾｰｼﾞ種を渡す(推奨)312.1.3 エラー通知
エラーの発生する状況は以下の４層に分けて考えることができる。

業務ＡＰ層

業務レベルデータ確認

４層

業務レベルデータ確認

XML 文書妥当性検証

３層

XML 文書妥当性検証

SOAP-RPC

２層

SOAP-RPC

HTTP 通信

１層

HTTP 通信

業務ＡＰ層

エラー発生階層

エラー検出のタイミング

１層：HTTP 通信レベル

HTTP プロトコルレベルでのメッセージ交換時

２層：SOAP-RPC レベル

SOAP Envelope 内解析時

３層：XML 文書妥当性検証

受信した XML ビジネス文書のスキーマ定義ファイルによる妥当性検証
時（字句チェックエラー）

４層：業務レベルデータ確認

受信側の業務 AP で XML ビジネス文書を処理中

図表 22 階層別エラー状況（１） HTTP 通信レベルのエラー
HTTP では、サーバからの応答として 3 桁の数字によるステータスコードが返される。この値が 300 台、400 台、
500 台の場合がエラーである。
図表 23 に、代表的な HTTP エラーを挙げる。
HTTP

説明

ステータスコード401

認証に失敗した。

404

接続先の URL に誤りがある。

500

サーバで何らかのエラーが発生した。

503

相手先のサーバが一時的に利用できない。

図表 23 代表的な HTTP ステータスコード
他の HTTP ステータスコードに関しては、HTTP の仕様（RFC2616）を参照されたい。

32

（２） SOAP レベルのエラー
JX 手順では、SOAP におけるエラー通知手段である SOAP Fault を使用する。つまり、リクエスト処理中に SOAP
エラーが発生した場合、サーバは HTTP レスポンス 500 "Internal Server Error"を発行すると同時に、そのレスポンス
は、Body 要素に SOAP 処理エラーを示す Fault 要素を持つ SOAP メッセージを含まなければならない。
Fault 要素は SOAP 本体中に一度しか記述することができない。また、Fault 要素も、Envelope 要素、Header 要素、Body 要素と同じ名前空間に属するため、名前空間接頭辞 「soapenv」を用いて修飾する。
Fault 要素の記述ルールは次のとおりである。
⚫

Fault 要素は、Body 要素中に 2 回以上現れてはいけない。

⚫

Fault 要素は以下の子要素から構成される。

Fault 要素
faultcode(必須要素)
faultstring(必須要素)
faultactor

detail

用途・用法
エラー内容をコード（SOAP フォールトコード値）で示す。

エラー内容を説明する記述。エラーの性質についての何らかの説明が必要。
エラーを検出したアプリケーションを示す情報を提供する。この要素は違反の発生元 URIが示される。
Body 要素に関係するアプリケーション固有のエラー情報を伝える。 この要素は Body 要
素の内容処理が正常終了しなかった場合には存在しなくてはいけない。

図表 24 Fault 要素の子要素
Fault 要素の XML 文書記述例を次に示す。
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/><SOAP-ENV:Header>…
</SOAP-ENV:Header><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>エラーの種類（例、server, client, mustUnderstand, …）</faultcode><faultstring>エラーの内容を表す文字列</faultstring><faultactor>誰がエラーを検出したか（例、URL）</faultactor><detail>エラーの詳細情報</detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

また、仕様で定義されている違反を記述するときには、下記の faultcode の値が faultcode 要素の中で使われなければならない。

33

faultcode の値

説明

VersionMismatch

SOAP Envelope 要素に対して間違った名前空間を検出

MustUnderstand

値"1"の mustUnderstand 属性を含んだ SOAP Header 要素の子要素があり、それが理解出来ないか、意図したように処理されていない。

Client

メッセージが正しく構成されていないか、処理を進める上で適切な情報を含んでいないことを示す。

Server

直接メッセージの内容に起因する原因ではなくメッセージの処理過程に関わる理由
でメッセージを処理することが出来なかったことを示す。

図表 25 SOAP エラー通知(faultcode)
尚、SOAP エラー通知の詳細については、SOAP 1.1 の仕様を参照されたい。

（３） XML 文書妥当性検証のエラー／業務レベルデータ確認のエラー
JX 手順では、SOAP Fault 要素中の detail 要素の子要素として、exceptionInfo 要素を追加することにより業務ア
プリケーションレベルで検出したエラーに関する情報を交換できる。
尚、業務アプリケーションレベルのエラー情報を交換するには、サーバ側で PutDocument 受信後、業務アプリケーションを実行し、その結果（正常時：PutDocumentResponse、異常時：SOAP Fault）を返す必要がある。

<exceptionInfo xmlns="http://www.dsri-dcc.jp/ retailCollaboration/2001/11/b2b"><exceptionPhase>LEXICAL_CHECK</errorPhase><errorInfo id="error0001"><errorLevel>ERROR_FATAL</errorLevel><errorCode>ERROR_DATA_ALREADY_EXIST</errorCode><errorDescription>既にデータが存在します</errorDescription><errorLocation>
xpointer(/ProductRegistration/MessageInfo/Sender/PartyId)</errorLocation></errorInfo><errorInfo id="error0002">
・・・</exceptionInfo>

上記の XML データ構造について説明する。
• 業務アプリケーションレベルで検出されたエラーの詳細情報を格納するデータ構造のルート要素のタグ名称
は exceptionInfo である。
• exceptionInfo は１つの exceptionPhase 要素と 1 つ以上の errorInfo 要素で構成される。
• exceptionPhase 要素にはエラーの発生したタイミングを記述する。exceptionPhase に設定可能な文字列の例を次に示す。

34

exceptionPhase 要素

説明

LEXICAL_CHECK

字句チェックにおけるエラー発生

MEANING_CHECK

意味チェックにおけるエラー発生

図表 26 exceptionPhase 要素に設定可能な文字列• errorInfo 要素は errorLevel 要素、errorCode 要素、errorDescription 要素、errorLocation 要素、および id 属性から構成される。
• id 属性は exceptionInfo コンテンツ内で一意の文字列を指定する。
• errorLevel 要素にはエラーの重大性を記述する。
errorLevel 要素に設定する文字列例は次のとおりである。
errorLevel 要素デ

説明

WARNING

Validation 続行、処理続行

ERROR_NORMAL

Validation 続行、処理中止

ERROR_FATAL

Validation 中止、処理中止

図表 27 errorLevel 要素に設定可能な文字列
errorCode 要素にはエラーの内容を表すコードを記述する。
errorCode 要素に設定する文字列例を次に示す。
errorCode 要素

説明

ERROR_LEXICAL_TOKEN

妥当性(validation)検証でエラーを検出

ERROR_OUT_OF_BOUNDS

範囲外データ検出

ERROR_OUT_OF_SCOPES

データが複数存在する

ERROR_INVALID_DATA

無効データ検出ERROR_EXPIRED_DATA

既に有効でないデータ検出

ERROR_DATA_ALREADY_EXIST

既にデータが存在

ERROR_OBJECT_NOT_FOUND

内部に必要なデータが見つからない

ERROR_OBJECT_NOT_FOUND_IN_PAYLOAD

ペイロードに必要なデータが見つからない

ERROR_INCONSISTENCY

内部に論理的な不整合が発生

ERROR_INCONSISTENCY_IN_PAYLOAD

ペイロードに論理的な不整合が発生

ERROR_ILLEGAL_CLASS

型の不整合

ERROR_UNSUPPORTED_OPERATION

サポートされていない要求

ERROR_CIRCULAR_REFERENCE

循環参照

ERROR_ILLEGAL_STATE

状態不整合(他のエラーコードに属さないエラー)

図表 28 errorCode 要素に設定可能な文字列• errorDescription 要素にはエラーの内容を文字列で記述する。空要素は不可。できるだけ多くの情報を記述す35

る。
• errorLocation 要素はエラーの発生箇所を XPointer（XPath）形式で記述する。

exceptionInfo 要素は、SOAP の fault 要素中の detail 要素の子要素として利用することができる。
JX 手順における、WSDL の例を次に示す。
• wsdl:message 要素で errorInfo スキーマを指定する• wsdl:portType 要素の子要素として、input 要素、output 要素に続いて、fault 要素を定義し、wsdl:message 要素で定義されたメッセージを指定する• wsdl:binding 要素の子要素として、input 要素、output 要素に続いて、fault 要素を定義する。

<definitions .... >…
<wsdl:message name=" exceptionInfo "><wsdl:part name="fault" type="s0:exceptionResponse"/></wsdl:message><wsdl:portType name="JXMSTransferSOAP"><wsdl:operation name="GetDocument"><wsdl:input message="s0:GetDocumentSoapIn" /><wsdl:output message=" s0:GetDocumentSoapOut" /><wsdl:fault message=" s0:exceptionInfo"/>…
</wsdl:operation></wsdl:portType><wsdl:binding .... ><wsdl:operation .... ><wsdl:input>..</wsdl:input><wsdl:output>..</wsdl:output><wsdl:fault><soap:fault use="literal " /><soap:header message=" s0:GetDocumentMessageHeader"part="MessageHeader" use="literal " /></wsdl:fault></wsdl:operation></wsdl:binding></definitions>36

2.1.4 セキュリティ仕様
2.1.4.1 JX 手順におけるセキュリティ技術
JX 手順のセキュリティ技術には、HTTP ベーシック認証、SSL/TLS、電子署名があり、それぞれの技術について以
下に示す。

（１）

HTTP ベーシック認証

HTTP ベーシック認証（ID とパスワード）を用いたクライアントのアクセス制御を行う。

（２）

SSL/TLS

本ガイドラインでは、通信プロトコルレベルのセキュリティ確保に関して以下を推奨する。
●

SSL/TLS による暗号化通信●

SSL/TLS サーバ認証による、サービスプロバイダの成りすまし防止（３） 電子署名
JX 手順の電子署名技術としては、WS-Security の署名(Signature)部分を利用することが可能である。
WS-Security は大きく次のような構成となっている。
SOAP エンベロープ
SOAP ヘッダ
Wsse:Security
Security Token:認証情報

Signature:署名情報

EncryptedKey:暗号化情報

SOAP ボディ
XML 署名付ビジネス文書

図表 29 WS-Security の構成

37

電子署名部分は<ds:Signature>要素を利用し、メッセージの完全性を実現する。これは、XML-Signature 標準に対応している。
使用例として WS-Security 2004 仕様書に記載されている例を次に示す。
<?xml version="1.0" encoding="utf-8"?><S11:Envelope xmlns:S11="..." xmlns:wsse="..." xmlns:wsu="..." xmlns:ds="..."><S11:Header><wsse:Security><wsse:BinarySecurityToken ValueType="...#X509v3"
EncodingType="...#Base64Binary" wsu:Id="X509Token">
MIIEZzCCA9CgAwIBAgIQEmtJZc0rqrKh5i...
</wsse:BinarySecurityToken><ds:Signature><ds:SignedInfo><ds:CanonicalizationMethod
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><ds:SignatureMethod
Algorithm= "http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><ds:Reference URI="#myBody"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>EULddytSo1...</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>
BL8jdfToEb1l/vXcMZNNjPOV...
</ds:SignatureValue><ds:KeyInfo><wsse:SecurityTokenReference><wsse:Reference URI="#X509Token"/></wsse:SecurityTokenReference></ds:KeyInfo></ds:Signature></wsse:Security></S11:Header><S11:Body wsu:Id="myBody"><tru:StockSymbol xmlns:tru="http://www.fabrikam123.com/payloads">
QQQ</tru:StockSymbol></S11:Body></S11:Envelope>38尚、WS-Security の詳細については、次の URL(OASIS の Web サイト)で公開されている仕様を参照されたい。
仕様公開 URL： https://www.oasis-open.org/standards#wssv1.0

2.1.4.2 セキュリティ要件とセキュリティ技術の対応
セキュリティ要件を満たすためのセキュリティ技術の組み合わせを示す。
セキュリティ要件

セキュリティ技術
HTTP ベーシック認証

SSL/TLS

電子署名

機密性

×

○

×

完全性

×

×

○

認証

△

○

○

（ID とパスワード）

否認防止（発信者の認証のみ）

×

×○（受信したメッセージの保存が必要）

図表 30 セキュリティ要件を満たす技術
尚、ビジネス文書の暗号化は、業務アプリケーション(レベル)で実施する。

39

2.1.5 メッセージサンプル（１）ビジネス文書送信要求（クライアント→サーバ）

POST /SOAP-RPC HTTP/1.1
Host: edi.seller.co.jp
Content-Length: 2410
Content-Type: text/xml; charset=UTF-8
SOAPAction: "http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/PutDocument"<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Header><MessageHeader xmlns="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"><From>cliuri.co.jp</From><To>svruri.co.jp</To><MessageId>20040313123814@cliuri.co.jp</MessageId><Timestamp>2004-03-13T12:38:14</Timestamp></MessageHeader></soap:Header><soap:Body><PutDocument xmlns="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"><messageId>20040313123814@cliuri.co.jp</messageId><data>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iU2hpZnRfSklTIj8+DQo8IS0tIFRlc3QgUGF5..bG9hZCAtL
T4NCjxUZXN0Um9vdD4NCgk8VGVzdEVsZW1lbnQ+DQoJCTxUZXN0MSB0ZXN0PSIxIi8+..DQoJCTxUZXN0MiB0Z
XN0PSIyIi8+DQoJCTxUZXN0MyB0ZXN0PSIzIj4NCgkJCTxUZXN0Q2hpbGQg..Y2hpbGQ9ImNoaWxkMyIvPg0KCQk8L1Rlc3QzPg0KCQk8VGVzdDQgdGVzdD0iNCIvPg0KCTwvVGVz..dEVsZW1lbnQ+DQo8L1Rlc3RSb290
Pg==</data><senderId>4912345000019</senderId><receiverId>4969951110016</receiverId><formatType>SecondGenEDI</formatType><documentType>Order</documentType></PutDocument></soap:Body></soap:Envelope>40

ビジネス文書送信要求のSOAPメッセージ解説 （クライアント→サーバ）
要素

属性

説明

サンプル値

<?xml version="1.0" encoding="UTF-8"?>
soap:Envelope

SOAPエンベロープの定義開始（ルートタグ）
xmlns:soap SOAPエンベロープの名前空間（固定）http://schemas.xmlsoap.org/soap/envelope/

xmlns:xsi

XMLスキーマインスタンスの名前空間（固定）http://www.w3.org/2001/XMLSchema-instancexmlns:xsd

XML Schemaの名前空間（固定）http://www.w3.org/2001/XMLSchema

soap:Header

SOAPヘッダの定義開始

MessageHeader
xmlns

メッセージヘッダの定義開始
メッセージヘッダの名前空間（固定）

(*)

From

メッセージ送信ホスト（クライアント）の識別子

http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server
cliuri.co.jp

To

メッセージ受信ホスト（サーバ）の識別子

svruri.co.jp

MessageId

メッセージの識別番号（グローバルユニーク）

20040313123814@cliuri.co.jp

Timestamp

メッセージヘッダが作成された日時

2004-03-13T12:38:14

soap:Body

SOAPボディーの定義開始

PutDocument
xmlns

ドキュメント送信のメソッド
ドキュメント送信メソッドの名前空間（固定） (*)

http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server

messageId

メッセージの識別番号（=MessageId）

data

送信ドキュメントデータ（Base64Encoding）

20040313123814@cliuri.co.jp
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iU2hpZnRfSklTIj8+DQo8IS0tIFRlc3QgUGF5

senderId

ドキュメント送信者識別子

4912345000019

receiverId

ドキュメント受信者識別子

4569951110016

formatType

ドキュメント形式

SecondGenEDI

documentType

ドキュメント種別

OrdercompressType

圧縮タイプ（Reserved）(*) 名前空間のプレフィックスなし

41

（２）ビジネス文書送信応答（サーバ→クライアント）
HTTP/1.1 200 OK
Content-Length: 771
Content-Type: text/xml; charset=UTF-8
SOAPAction: http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/PutDocument<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Header><MessageHeader xmlns="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"><From>svruri.co.jp</From><To>cliuri.co.jp</To><MessageId>20040313123817@svruri.co.jp</MessageId><Timestamp>2004-03-13T12:38:17</Timestamp></MessageHeader></soap:Header><soap:Body><PutDocumentResponse xmlns="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"><PutDocumentResult>true</PutDocumentResult></PutDocumentResponse></soap:Body></soap:Envelope>42

ビジネス文書送信応答のSOAPメッセージ解説
属性

要素（サーバ→クライアント）

説明

サンプル値

<?xml version="1.0" encoding="UTF-8"?>
soap:Envelope

SOAPエンベロープの定義開始（ルートタグ）
xmlns:soap

SOAPエンベロープの名前空間（固定）http://schemas.xmlsoap.org/soap/envelope/

xmlns:xsi

XMLスキーマインスタンスの名前空間（固定）http://www.w3.org/2001/XMLSchema-instancexmlns:xsd

XML Schemaの名前空間（固定）http://www.w3.org/2001/XMLSchema

soap:Header

SOAPヘッダの定義開始

MessageHeader

メッセージヘッダの定義開始
xmlns

メッセージヘッダの名前空間（固定）(*)

http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server

From

メッセージ送信ホスト（サーバ）の識別子

svruri.co.jp

To

メッセージ受信ホスト（クライアント）の識別子

cliuri.co.jp

MessageId

メッセージの識別番号（グローバルユニーク）

20040313123817@svruri.co.jp

Timestamp

メッセージヘッダが作成された日時

2004-03-13T12:38:17

soap:Body

SOAPボディーの定義開始

PutDocumentResponse
xmlns
PutDocumentResult

ドキュメント送信メソッドの応答
ドキュメント送信メソッドの名前空間（固定） (*)

http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server

ドキュメント送信メソッドの戻り値

true(*) 名前空間のプレフィックスなし

43

（３）ビジネス文書受信要求（クライアント→サーバ）
POST /SOAP-RPC HTTP/1.1
Host: edi.seller.co.jp
Content-Length: 749
Content-Type: text/xml; charset=UTF-8
SOAPAction: "http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/GetDocument"<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Header><MessageHeader xmlns="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"><From>cliuri.co.jp</From><To>svruri.co.jp</To><MessageId>20040313123819@cliuri.co.jp</MessageId><Timestamp>2004-03-13T12:38:19</Timestamp></MessageHeader></soap:Header><soap:Body><GetDocument xmlns="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"><receiverId>4912345000019</receiverId></GetDocument></soap:Body></soap:Envelope>44

ビジネス文書受信要求のSOAPメッセージ解説 （クライアント→サーバ）
属性

要素

説明

サンプル値

<?xml version="1.0" encoding="UTF-8"?>
soap:Envelope

SOAPエンベロープの定義開始（ルートタグ）
xmlns:soap SOAPエンベロープの名前空間（固定）http://schemas.xmlsoap.org/soap/envelope/

xmlns:xsi

XMLスキーマインスタンスの名前空間（固定）http://www.w3.org/2001/XMLSchema-instancexmlns:xsd

XML Schemaの名前空間（固定）http://www.w3.org/2001/XMLSchema

soap:Header

SOAPヘッダの定義開始

MessageHeader
xmlns

メッセージヘッダの定義開始
メッセージヘッダの名前空間（固定）

(*)

From

メッセージ送信ホスト（クライアント）の識別子

http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server
cliuri.co.jp

To

メッセージ受信ホスト（サーバ）の識別子

svruri.co.jp

MessageId

メッセージの識別番号（グローバルユニーク）

20040313123819@cliuri.co.jp

Timestamp

メッセージヘッダが作成された日時

2004-03-13T12:38:19

soap:Body

SOAPボディーの定義開始

GetDocument

ドキュメント受信のメソッド
xmlns

receiverId

ドキュメント受信メソッドの名前空間（固定） (*)
ドキュメント受信者識別子

http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server
4912345000019(*) 名前空間のプレフィックスなし

45

（４）ビジネス文書の形式と種別の指定のあるビジネス文書受信要求（クライアント→サーバ）
POST /SOAP-RPC HTTP/1.1
Host: edi.seller.co.jp
Content-Length: 749
Content-Type: text/xml; charset=UTF-8
SOAPAction: "http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/GetDocument"<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><MessageHeader xmlns="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"><From>wsretail.info</From><To>retail@svruri.co.jp</To><MessageId>20080130184952390.0001@wsretail.info</MessageId><Timestamp>2008-01-30T09:49:52</Timestamp><OptionalFormatType> SecondGenEDI </OptionalFormatType><OptionalDocumentType> Order</OptionalDocumentType></MessageHeader></soapenv:Header><soapenv:Body><GetDocument xmlns="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"><receiverId>4912345000300</receiverId></GetDocument></soapenv:Body></soapenv:Envelope>46

ビジネス文書の形式と種別の指定のあるビジネス文書受信要求のSOAPメッセージ解説 （クライアント→サーバ）
属性

要素

説明

サンプル値

<?xml version="1.0" encoding="UTF-8"?>
soap:Envelope

SOAPエンベロープの定義開始（ルートタグ）
xmlns:soap

soap:Header

SOAPエンベロープの名前空間（固定）http://schemas.xmlsoap.org/soap/envelope/

SOAPヘッダの定義開始

MessageHeader
xmlns

メッセージヘッダの定義開始
メッセージヘッダの名前空間（固定）

(*)

From

メッセージ送信ホスト（クライアント）の識別子

http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server
wsretail.info

To

メッセージ受信ホスト（サーバ）の識別子

retail@svruri.co.jp

MessageId

メッセージの識別番号（グローバルユニーク）

20080130184952390.0001@wsretail.info

Timestamp

メッセージヘッダが作成された日時

OptionalFormatType

要求するビジネス文書の形式

2008-01-30T09:49:52
SecondGenEDI

OptionalDocumentType 要求するビジネス文書の種別
soap:Body

SOAPボディーの定義開始

GetDocument

ドキュメント受信のメソッド
xmlns

receiverId

Order

ドキュメント受信メソッドの名前空間（固定） (*)

http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server
4912345000300

ドキュメント受信者識別子(*) 名前空間のプレフィックスなし

47

（５）ビジネス文書受信応答（サーバ→クライアント）
HTTP/1.1 200 OK
Content-Length: 2478
Content-Type: text/xml; charset=UTF-8
SOAPAction: "http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/GetDocument"<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Header><MessageHeader xmlns="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"><From>svruri.co.jp</From><To>cliuri.co.jp</To><MessageId>20040313123819@svruri.co.jp</MessageId><Timestamp>2004-03-13T12:38:19</Timestamp></MessageHeader></soap:Header><soap:Body><GetDocumentResponse xmlns="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"><GetDocumentResult>true</GetDocumentResult><messageId>20040313123819@svruri.co.jp</messageId><data>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iU2hpZnRfSklTIj8+DQo8IS0tIFRlc3QgUGF5..bG9hZCAtL
T4NCjxUZXN0Um9vdD4NCgk8VGVzdEVsZW1lbnQ+DQoJCTxUZXN0MSB0ZXN0PSIxIi8+..DQoJCTxUZXN0MiB0Z
XN0PSIyIi8+DQoJCTxUZXN0MyB0ZXN0PSIzIj4NCgkJCTxUZXN0Q2hpbGQg..Y2hpbGQ9ImNoaWxkMyIvPg0KCQk8L1Rlc3QzPg0KCQk8VGVzdDQgdGVzdD0iNCI+DQoJPC9UZXN0..RWxlbWVudD4NCjwvVGVzdFJvb3
Q+</data><senderId>4969951110016</senderId><receiverId>4912345000019</receiverId><formatType>SecondGenEDI</formatType><documentType>Order</documentType></GetDocumentResponse></soap:Body></soap:Envelope>48

ビジネス文書受信応答のSOAPメッセージ解説（サーバ→クライアント）

要素
属性
説明
サンプル値
<?xml version="1.0" encoding="UTF-8"?>
soap:Envelope
SOAPエンベロープの定義開始（ルートタグ）
xmlns:soap SOAPエンベロープの名前空間（固定）http://schemas.xmlsoap.org/soap/envelope/
xmlns:xsi XMLスキーマインスタンスの名前空間（固定） http://www.w3.org/2001/XMLSchema-instancexmlns:xsd XML Schemaの名前空間（固定）http://www.w3.org/2001/XMLSchema
soap:Header
SOAPヘッダの定義開始
MessageHeader
メッセージヘッダの定義開始
xmlns
メッセージヘッダの名前空間（固定）(*) http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server
From
メッセージ送信ホスト（サーバ）の識別子
svruri.co.jp
To
メッセージ受信ホスト（クライアント）の識別子 cliuri.co.jp
MessageId
メッセージの識別番号（グローバルユニーク） 20040313123819@svruri.co.jp
Timestamp
メッセージヘッダが作成された日時
2004-03-13T12:38:19

soap:Body
SOAPボディーの定義開始
GetDocumentResponse ドキュメント送信メソッドの応答
xmlns
ドキュメント受信メソッドの名前空間（固定）(*) http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server
GetDocumentResult ドキュメント受信メソッドの戻り値
truemessageId
メッセージの識別番号（=MessageId）
20040313123819@svruri.co.jp
data
送信ドキュメントデータ（Base64Encoding）
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iU2hpZnRfSklTIj8+DQo8IS0tIFRlc3QgUGF5
senderId
ドキュメント送信者識別子
4969951110016
receiverId
ドキュメント受信者識別子
4912345000019
formatType
ドキュメント形式
SecondGenEDI
documentType
ドキュメント種別
OrdercompressType
圧縮タイプ（Reserved）(*) 名前空間のプレフィックスなし

49

（６）ビジネス文書受信確定要求（クライアント→サーバ）
POST /SOAP-RPC HTTP/1.1
Host: edi.seller.co.jp
Content-Length: 865
Content-Type: text/xml; charset=UTF-8
SOAPAction: "http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/ConfirmDocument"<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Header><MessageHeader xmlns="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"><From>cliuri.co.jp</From><To>svruri.co.jp</To><MessageId>20040313123826@cliuri.co.jp</MessageId><Timestamp>2004-03-13T12:38:26</Timestamp></MessageHeader></soap:Header><soap:Body><ConfirmDocument xmlns="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"><messageId>20040313123819@svruri.co.jp</messageId><senderId>4969951110016</senderId><receiverId>4912345000019</receiverId></ConfirmDocument></soap:Body></soap:Envelope>50

ビジネス文書受信確定要求のSOAPメッセージ解説 （クライアント→サーバ）
属性

要素

サンプル値

説明

<?xml version="1.0" encoding="UTF-8"?>
SOAPエンベロープの定義開始（ルートタグ）

soap:Envelope

http://schemas.xmlsoap.org/soap/envelope/

xmlns:soap SOAPエンベロープの名前空間（固定）xmlns:xsi

XMLスキーマインスタンスの名前空間（固定）http://www.w3.org/2001/XMLSchema-instancexmlns:xsd

XML Schemaの名前空間（固定）http://www.w3.org/2001/XMLSchema

SOAPヘッダの定義開始

soap:Header

メッセージヘッダの定義開始

MessageHeader
xmlns

(*)

メッセージヘッダの名前空間（固定）http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server

From

メッセージ送信ホスト（クライアント）の識別子

cliuri.co.jp

To

メッセージ受信ホスト（サーバ）の識別子

svruri.co.jp

MessageId

メッセージの識別番号（グローバルユニーク）

20040307074036@cliuri.co.jp

Timestamp

メッセージヘッダが作成された日時

2004-03-07T07:40:36

SOAPボディーの定義開始

soap:Body

ドキュメント受信確定のメソッド名

ConfirmDocument

ドキュメント受信確定メソッドの名前空間（固定） (*)

http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server

messageId

受信確定するメッセージの識別番号20040313123826@cliuri.co.jp

senderId

ドキュメント送信者識別子

4969951110016

receiverId

ドキュメント受信者識別子

4912345000019

xmlns(*) 名前空間のプレフィックスなし

51

（７）ビジネス文書受信確定応答（サーバ→クライアント）
HTTP/1.1 200 OK
Content-Length: 787
Content-Type: text/xml; charset=UTF-8
SOAPAction: "http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server/ConfirmDocument"<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Header><MessageHeader xmlns="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"><From>svruri.co.jp</From><To>cliuri.co.jp</To><MessageId>20040313123826@svruri.co.jp</MessageId><Timestamp>2004-03-13T12:38:26</Timestamp></MessageHeader></soap:Header><soap:Body><ConfirmDocumentResponse xmlns="http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server"><ConfirmDocumentResult>true</ConfirmDocumentResult></ConfirmDocumentResponse></soap:Body></soap:Envelope>52

ビジネス文書受信確定応答のSOAPメッセージ解説
要素

属性（サーバ→クライアント）

説明

サンプル値

<?xml version="1.0" encoding="UTF-8"?>
soap:Envelope

SOAPエンベロープの定義開始（ルートタグ）
xmlns:soap SOAPエンベロープの名前空間（固定）http://schemas.xmlsoap.org/soap/envelope/

xmlns:xsi

XMLスキーマインスタンスの名前空間（固定）http://www.w3.org/2001/XMLSchema-instancexmlns:xsd

XML Schemaの名前空間（固定）http://www.w3.org/2001/XMLSchema

soap:Header

SOAPヘッダの定義開始

MessageHeader

メッセージヘッダの定義開始
xmlns

メッセージヘッダの名前空間（固定）(*)

http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server

From

メッセージ送信ホスト（サーバ）の識別子

svruri.co.jp

To

メッセージ受信ホスト（クライアント）の識別子

cliuri.co.jp

MessageId

メッセージの識別番号（グローバルユニーク）

20040313123826@svruri.co.jp

Timestamp

メッセージヘッダが作成された日時

2004-03-13T12:38:26

soap:Body

SOAPボディーの定義開始

ConfirmDocumentResponse
xmlns
ConfirmDocumentResult

ドキュメント受信確定メソッドの応答
ドキュメント受信確定メソッドの名前空間（固定） (*)

http://www.dsri.jp/edi-bp/2004/jedicos-xml/client-server

ドキュメント受信確定メソッドの戻り値

true(*) 名前空間のプレフィックスなし

53

2.2 推奨通信プロトコルパラメータセット
電子商取引を実施するに当たり、通信プロトコル（通信手順）は接続の第一歩である。尚、電子商取引を実施するに当たっては、別途商取引上の取り決めをする必要がある。
今回、本ガイドラインは通信手順に関する設定パラメータを出来るだけ固定値化することによって、相対で通信パラメータを試行錯誤しながらセットする手間を極力少なくすることを目的に作成した。

次章の「2.2.1 EDI 通信パラメータ参考情報（JX 手順用）」に、通信するために必要な設定をまとめた。

54

2.2.1 EDI 通信パラメータ参考情報（JX 手順用）
JiEDIA 推奨パラメータ値を記載した参考情報である。各参考情報のパラメータ設定値欄に記載されている値は、調整欄が◎の場合はサンプルであり、調整欄が空欄の場合は、推奨値となっている。また、備考欄に設定値の形式等の情報が記載されている。

55

◆【参考資料】JX 手順のエラー情報リスト

56

改訂の要約・ V1.0.0（2020 年 1 月発行）作成

57

インターネットを利用した通信プロトコル利用ガイドライン
JX 手順版
2020 年 1 月

発行

インターネット EDI 普及推進協議会
Japan internet EDI Association（JiEDIA）
本資料に関する問い合わせは、下記までお願いします。
JiEDIA 事務局：一般社団法人 情報サービス産業協会
https://www.jisa.or.jp/tabid/2821/Default.aspx〒101-0047
東京都千代田区内神田 2-3-4
S-GATE 大手町北 6F
TEL：03-5289-7651（代表）
FAX：03-5289-7653

58