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
WSDL
file fault messages defined with Oracle Tuxedo buffers. The mapping rule includes:- Each service in XSD mode (
servicemode=webservice
), always has anerrbuf
in Metadata withtype=FML32
errbuf
is aFML32
buffer. It is a complete description of theSOAP:Fault message
that may appear in correspondence (which is different for SOAP 1.1 and 1.2). Theerrbuf
definition 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:part
defined in awsdl:fault
message (whenwsdl:fault
is 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 paramrequiredcount
is 0 (which means it may not appear in the SOAP fault message). - Other elements that appear in
soap:fault
message are always defined as a file inerrbuf
, withrequiredcount
equal to1
or0
(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