4.3.4 Handling Fault Messages in an Oracle Tuxedo Outbound Application
All rules listed inthe WSDL file are used to map
WSDL input/output message into Oracle Tuxedo Metadata inbuf/outbuf
definition. WSDL file default message can also be
mapped into Oracle Tuxedo Metadata errbuf with some
amendments to the rules:
Rules for fault mapping:
There are two modes for mapping Metadata errbuf
into SOAP Fault messages: Tux Mode and XSD Mode.
- Tux Mode is used to convert Oracle Tuxedo original error
buffers returned with
TPFAIL. The error buffers are converted intothe XML payload in the SOAP fault<detail>element. - XSD Mode is used to represent SOAP fault and
WSDLfile fault messages defined with Oracle Tuxedo buffers. The mapping rule includes:- Each service in XSD mode (
servicemode=webservice), always has anerrbufin Metadata withtype=FML32 errbufis aFML32buffer. It is a complete description of theSOAP:Fault messagethat may appear in correspondence (which is different for SOAP 1.1 and 1.2). Theerrbufdefinition content is determined by both the SOAP version and WSDL fault message.- Parameter detail/Detail (1.1/1.2) is an FML32 field that represents the
wsdl:partdefined in awsdl:faultmessage (whenwsdl:faultis present). Each part is defined as aparam(field)in the FML32 field. The mapping rules are the same as for input/output buffer. The difference is that each paramrequiredcountis 0 (which means it may not appear in the SOAP fault message). - Other elements that appear in
soap:faultmessage are always defined as a file inerrbuf, withrequiredcountequal to1or0(depending on whether the element is required or optional). - Each part definition in the metadata controls converting a
<detail>element in the soap fault message into a field in the error buffer.
- Each service in XSD mode (
Table 4-3 Outbound SOAP Fault Errbuf Definition
| Meta Parameter | SOAP Version | Type | Required | Memo |
|---|---|---|---|---|
faultcode |
1.1 | string
|
Yes | - |
faultstring
|
1.1 | string
|
Yes | - |
faultactor
|
1.1 | string
|
No | - |
detail
|
1.1 | fml32
|
No | If no wsdl:fault is defined, this field contains an XML field.
|
Code
|
1.2 | fml32
|
Yes | Contains value and optional Subcode |
Reason
|
1.2 | fml32
|
Yes | Contains multiple text |
Node
|
1.2 | string
|
No | - |
Role
|
1.2 | string
|
No | - |
Detail
|
1.2 | fml32
|
No | same as detail field |
Parent topic: Invoking SALT Proxy Services