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>