9.5.9 応答電文を取得する
取り出した応答から応答電文を取得します。取得する応答電文は,次のどちらかになります。
-
サービス部品からの応答電文
-
サービス部品,ビジネスプロセス,およびサービスアダプタからのエラー情報(フォルト情報)
(1) サービス部品からの応答電文
取得する応答電文は,サービス部品側と同じ電文フォーマットのXML電文になります。XML電文の応答電文については,「9.2.7 応答電文を取得する」を参照してください。
同期のサービス部品(WebサービスまたはSessionBean)からの応答電文がない場合は,ペイロードなしのTextMessageを受信します。
非同期のサービス部品の場合は,応答がありません。
(2) サービス部品,ビジネスプロセス,およびサービスアダプタからのエラー情報(フォルト情報)
取得する電文(エラー情報)は,非同期受付(MDB(WS-R))が応答用のキューに送信したXML電文になります。
SOAP1.2の場合とSOAP1.2以外の場合とに分けて,エラー情報の出力形式およびスキーマを示します。
(a) SOAP1.2以外の場合
SOAP1.2以外を利用している場合の取得するXML電文(エラー情報)の形式を次に示します。
|
タグ |
説明 |
|---|---|
|
errorcode |
サービス部品,ビジネスプロセス,およびサービスアダプタからのエラーであることを示すエラーコードです。 |
|
errorstring |
サービス部品,ビジネスプロセス,およびサービスアダプタからのエラーであることを示すエラーメッセージです。 |
|
processinstanceid |
ビジネスプロセスのインスタンスIDの情報です。 |
|
cscmsgcode |
サービス部品(Webサービス),ビジネスプロセス,またはサービスアダプタからのFaultCode情報です。 |
|
cscmsgstring |
サービス部品(Webサービス),ビジネスプロセス,またはサービスアダプタからのFaultString情報です。 |
|
cscmsgactor |
サービス部品(Webサービス),ビジネスプロセス,またはサービスアダプタからのFaultActor情報です。 |
|
cscmsgdetail |
サービス部品(Webサービス),ビジネスプロセス,またはサービスアダプタからのDetail情報です。 |
SOAP1.2以外を利用している場合の取得するXML電文(エラー情報)のスキーマを次に示します。
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="cscmsgerror">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="errorcode" type="xsd:string"/>
<xsd:element name="errorstring" type="xsd:string"/>
<xsd:element name="processinstanceid" type="xsd:string"/>
<xsd:element ref="errordetail"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="errordetail">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="cscmsgcode" type="xsd:string"/>
<xsd:element name="cscmsgstring" type="xsd:string"/>
<xsd:element name="cscmsgactor" type="xsd:string"/>
<xsd:element name="cscmsgdetail" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>(b) SOAP1.2の場合
SOAP1.2を利用している場合の取得するXML電文(エラー情報)の形式を次に示します。
|
タグ |
説明 |
|---|---|
|
errorcode |
サービス部品,ビジネスプロセス,およびサービスアダプタからのエラーであることを示すエラーコードです。 |
|
errorstring |
サービス部品,ビジネスプロセス,およびサービスアダプタからのエラーであることを示すエラーメッセージです。 |
|
processinstanceid |
ビジネスプロセスのインスタンスIDの情報です。 |
|
cscmsgcode |
サービス部品(Webサービス),ビジネスプロセス,またはサービスアダプタからのCode情報です。 |
|
cscmsgvalue |
サービス部品(Webサービス),ビジネスプロセス,またはサービスアダプタからのCodeが持つValue情報です。 |
|
cscmsgreason |
サービス部品(Webサービス),ビジネスプロセス,またはサービスアダプタからのReason情報です。 |
|
cscmsgtext |
サービス部品(Webサービス),ビジネスプロセス,またはサービスアダプタからのReasonが持つText情報です。 |
|
cscmsgrole |
サービス部品(Webサービス),ビジネスプロセス,またはサービスアダプタからのRole情報です。 |
|
cscmsgnode |
サービス部品(Webサービス),ビジネスプロセス,またはサービスアダプタからのNode情報です。 |
|
cscmsgdetail |
サービス部品(Webサービス),ビジネスプロセス,またはサービスアダプタからのDetail情報です。 |
SOAP1.2を利用している場合の取得するXML電文(エラー情報)のスキーマを次に示します。
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="cscmsgerror">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="errorcode" type="xsd:string"/>
<xsd:element name="errorstring" type="xsd:string"/>
<xsd:element name="processinstanceid" type="xsd:string"/>
<xsd:element ref="errordetail"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="errordetail">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="cscmsgcode"/>
<xsd:element ref="cscmsgreason"/>
<xsd:element name="cscmsgrole" type="xsd:string"/>
<xsd:element name="cscmsgnode" type="xsd:string"/>
<xsd:element name="cscmsgdetail" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="cscmsgcode" nillable="true">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="cscmsgvalue" type="xsd:string" maxOccurs="unbounded" nillable="true"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="cscmsgreason" nillable="true">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="cscmsgtext" type="tns:cscmsgFaultReasonText" maxOccurs="unbounded" nillable="true" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xs:complexType name="cscmsgFaultReasonText">
<xs:sequence>
<xs:element name="locale" type="xs:string" nillable="true" />
<xs:element name="text" type="xs:string" nillable="true" />
</xs:sequence>
</xs:complexType>
</xsd:schema>