この規格ページの目次
7
X 7362 : 2010 (ISO/IEC 29362 : 2008)
Content-Description: This is the optional message description.
--MIMEboundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <rootpart@example.com>
<・xml version='1.0' ・>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
...
</SOAP-ENV:Envelope>
--MIMEboundary
...
--MIMEboundary--
3.2 ルートパートのエンコーディング
R2915 multipart/relatedのMESSAGEのルートパート (root part) の実体本体 (entity body)
は,UTF-8又はUTF-16のいずれかの文字エンコーディングを用いてシリアライズされな
ければならない (MUST)。
R2916 multipart/relatedのMESSAGEの非ルートパート (non-root parts) では,いかなる
文字エンコーディングを用いてもよい (MAY) 。
3.3 メッセージのメディア型
R2925 WSDL記述が少なくとも1個の非ルートMIMEパートを列挙している場合,対応する
MESSAGEは,Content-Type HTTPヘッダフィールドの値として "multipart/related" を
もたなければならない (MUST)。
3.4 添付データをもたないメッセージ
受信側がメッセージに0個以上の添付データを想定している場合,そのメッセージの送信側は,添付デ
ータのないメッセージにtext/xmlメディア型を使うことができる。
R2917 WSDL記述がwsdl:binding要素の中の対応するwsdl:input要素又はwsdl:output要素に
mime:multipartRelated要素を指定しているにもかかわらず,添付データのパートをもたな
いMESSAGEは,Content-Type HTTPヘッダフィールドに "text/xml"(SOAP HTTPバ
インディングが使われたときと同様な方式)又は "multipart/related" のいずれかを指定し
て送られなければならない (MUST)。
R2902 SENDERは,wsdl:binding要素の中の対応するwsdl:input要素又はwsdl:output要素に
WSDL MIMEバインディングを指定していない場合,SOAP with Attachmentsを使ってメ
ッセージを送ってはならない (MUST NOT)。
――――― [JIS X 7362 pdf 11] ―――――
8
X 7362 : 2010 (ISO/IEC 29362 : 2008)
これは,WSDL記述がsoapbind:body要素を含むmime:part子要素を一つだけもつ
mime:multipartRelated要素を指定している場合にだけ起こる。
次に例を示す。
正しい例 :
次のようなWSDL記述を考える。
<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="http://example.com/mimewsdl"
xmlns:tns="http://example.com/mimewsdl">
...
<wsdl:binding name="aBinding" type="tns:aPortType">
<soapbind:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="anOperation">
<soap:operation soapAction="http://example.com/soapaction"/>
<wsdl:input>
<mime:multipartRelated>
<mime:part>
<soapbind:body use="literal"
namespace="http://example.com/mimetypes"/>
</mime:part>
</mime:multipartRelated>
</wsdl:input>
<wsdl:output>
<soapbind:body use="literal"
namespace="http://example.com/mimetypes"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
</wsdl:definitions>
上のWSDL記述から,次のようなSOAP HTTPバインディングの入力メッセージを生成しても
よい。
――――― [JIS X 7362 pdf 12] ―――――
9
X 7362 : 2010 (ISO/IEC 29362 : 2008)
<・xml version='1.0' ・>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body xmlns:types="http://example.com/mimetypes">
<types:anOperation>
...
</types:anOperation>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
しかしながら,次のようなMIMEバインディングの出力メッセージを生成してはならない。
MIME-Version: 1.0
Content-Type: Multipart/Related; boundary=MIMEboundary; type=text/xml;
start="<rootpart@example.com>"
Content-Description: This is the optional message description.
--MIMEboundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <rootpart@example.com>
<・xml version='1.0' ・>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body xmlns:types="http://example.com/mimetypes">
<types:anOperationResponse>
...
</types:anOperationResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
--MIMEboundary--
3.5 添付データの参照値読出し
Webサービスを使うアプリケーションは,ネットワークからコンテンツを取り出すことを含め,様々な
方法でURIを使用できる。添付データは,URIで認識されるコンテンツを送り届けるために使用できるが,
実装は,添付データのコンテンツを優先すること,添付データだけを使用すること,及び添付データを全
く使用しないことのいずれも要求されない。同様に,アプリケーションはURIの参照値読出し機能(例え
ば,ネットワークからコンテンツを取ってくること。)を無視し,添付されたコンテンツだけを使うことも
選択できる。
――――― [JIS X 7362 pdf 13] ―――――
10
X 7362 : 2010 (ISO/IEC 29362 : 2008)
CID URIスキームを使用する場合,RFC2392で定義された構文と規則とが適用される。
R2918 RECEIVERは,エンベロープ中にある添付データへのURI参照を無視してもよい(MAY)。
3.6 追加のSOAPエンベロープの添付
このプロファイルでは,添付データパートの内容については何の制約も課さない。soap:Envelope要
素を含んだ追加のXML文書を添付データとして送ってもよいが,MIMEメッセージのルートパートだけ
が,MIMEパッケージの中のSOAPエンベロープとして扱われるのが望ましい。
R2919 MESSAGEは,ルートパート以外のパート中に,添付データとして運ばれる
soap:Envelope要素をもっていてもよい (MAY)。
3.7 添付データをもつフォルトメッセージ
R2920 wsdl:output要素がWSDL MIMEバインディングを使って記述されている場合に限り,
INSTANCEは,添付データのついたフォルトを送ってもよい (MAY)。
3.8 Content-Idヘッダの値空間
定義: content-idへのパート名エンコーディング (content-id part encoding) は,次の構成要素を連結したも
のである。
・ mime:content要素によって参照されるwsdl:part要素のname属性の値。ただし,
content-idヘッダで禁止された文字(0x7Fを超えるコードポイントで表現される非ASCII
文字)は,次の方式でエスケープする。
○ それぞれの禁止された文字を1バイト以上のUTF-8に変換する。
○ 禁止された文字を構成する各バイトをURIエスケープ方式でエスケープする(すな
わち,%HHの形式に変換する。ただし,ここでHHはバイト値の16進数表現であ
る。)。
○ 元の文字をエスケープ結果の文字列で置き換える。
・ 文字 '=' (0x3D)。
・ UUIDのような,大域的に一意な値。
・ 文字 '@' (0x40)。
・ メッセージを生成する実体の管理下にある,有効なドメイン名。
R2933 WSDL記述がwsdl:message要素のパートをmime:content要素にバインドしている
場合,MESSAGEの中の対応するMIMEのパートのContent-Id フィールドの値は,
content-idへのパート名エンコーディング (content-id part encoding) に適合しなければな
らない (MUST)。
次に例を示す。
正しい例 :
次のWSDLの中で,mime:content要素にバインドされたパートの名前がcontent-idの値に追加さ
れる。
――――― [JIS X 7362 pdf 14] ―――――
11
X 7362 : 2010 (ISO/IEC 29362 : 2008)
<wsdl:message name="fooMsg">
<wsdl:part name="body" type="ns1:Claim"/>
<wsdl:part name="fooPart" type="xs:base64binary"/>
</wsdl:message>
...
<wsdl:binding
...
<mime:multipartRelated>
<mime:part>
<soapbind:body parts="body" use="literal"/>
</mime:part>
<mime:part>
<mime:content part="fooPart" type="application/octet-stream"/>
</mime:part>
</mime:multipartRelated>
...
</wsdl:binding>
次に示すマルチパートのパッケージはfooPartのバイナリストリームを含み,wsdl:part要
素の "name" 属性の値がどのようにcontent-idの値に取り込まれるかを強調している。
...
--MIMEboundary
Content-Type: application/octet-stream
Content-Transfer-Encoding: 8bit
Content-ID: <fooPart=somereallybignumberlikeauuid@example.com>
...
3.9 MIMEパートの順序
中継ノード (intermediaries) がmultipart/relatedメッセージ中のパートの順序を入れ替える可能性
がある。したがって,メッセージ中のパートの順序に意味をもたせることは,明示的にも暗黙的にも,行
わないほうがよい。
R2921 RECEIVERは,メッセージ中の非ルートMIMEパートの順序から,いかなる意味も推定
してはならない (MUST NOT)。
R2929 MESSAGEは,ルートパートがどれであるかということを変えない限り,MIMEパート
をどのような順序で並べてもよい (MAY)。
受信側は,WSDL記述のmime:part要素の指定された順序が,メッセージの中のMIMEパートの順序
と同じであると想定してはならない。WSDL記述の中のMIMEパートの順序は,メッセージの中のMIME
――――― [JIS X 7362 pdf 15] ―――――
次のページ PDF 16
JIS X 7362:2010の引用国際規格 ISO 一覧
- ISO/IEC 29362:2008(IDT)
JIS X 7362:2010の国際規格 ICS 分類一覧
- 35 : 情報技術.事務機械 > 35.100 : 開放型システム間相互接続(OSI) > 35.100.05 : マルチレイヤアプリケーション
JIS X 7362:2010の関連規格と引用規格一覧
- 規格番号
- 規格名称
- JISX5810-1:2008
- 多目的インターネットメール拡張(MIME)―第1部:インターネットメッセージ本体のフォーマット
- JISX5810-2:2008
- 多目的インターネットメール拡張(MIME)―第2部:メディア型