Class: WSDL::Response::Fault

Inherits:
Data
  • Object
show all
Defined in:
lib/wsdl/response/fault.rb

Overview

Represents a parsed SOAP fault from a response.

Handles both SOAP 1.1 and 1.2 fault structures, normalizing them into a consistent interface.

SOAP 1.1 structure: soap:Fault soap:Server Something went wrong http://example.com/actor details /soap:Fault

SOAP 1.2 structure: soap:Fault soap:Code soap:Valuesoap:Receiver/soap:Value soap:Subcode soap:Valueapp:DatabaseError/soap:Value /soap:Subcode /soap:Code soap:ReasonSomething went wrong/soap:Text/soap:Reason soap:Nodehttp://example.com/node/soap:Node soap:Rolehttp://example.com/role/soap:Role soap:Detaildetails/soap:Detail /soap:Fault

Examples:

Accessing fault information

fault = response.fault
fault.code      # => "soap:Server" (1.1) or "env:Receiver" (1.2)
fault.subcodes  # => [] (1.1) or ["app:DatabaseError"] (1.2)
fault.reason    # => "Something went wrong"
fault.detail    # => { Error: "details" }
fault.node      # => nil (1.1) or "http://example.com/node" (1.2)
fault.role      # => "http://example.com/actor" (1.1 faultactor) or role (1.2)

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#codeObject (readonly)

Returns the value of attribute code

Returns:

  • (Object)

    the current value of code



53
54
55
56
57
58
59
60
61
62
# File 'lib/wsdl/response/fault.rb', line 53

Fault = Data.define(:code, :subcodes, :reason, :detail, :node, :role) {
  # Returns a human-readable summary of the fault.
  #
  # @return [String] fault summary
  def to_s
    message = "(#{code}) #{reason}"
    message << " [role: #{role}]" if role
    message
  end
}

#detailObject (readonly)

Returns the value of attribute detail

Returns:

  • (Object)

    the current value of detail



53
54
55
56
57
58
59
60
61
62
# File 'lib/wsdl/response/fault.rb', line 53

Fault = Data.define(:code, :subcodes, :reason, :detail, :node, :role) {
  # Returns a human-readable summary of the fault.
  #
  # @return [String] fault summary
  def to_s
    message = "(#{code}) #{reason}"
    message << " [role: #{role}]" if role
    message
  end
}

#nodeObject (readonly)

Returns the value of attribute node

Returns:

  • (Object)

    the current value of node



53
54
55
56
57
58
59
60
61
62
# File 'lib/wsdl/response/fault.rb', line 53

Fault = Data.define(:code, :subcodes, :reason, :detail, :node, :role) {
  # Returns a human-readable summary of the fault.
  #
  # @return [String] fault summary
  def to_s
    message = "(#{code}) #{reason}"
    message << " [role: #{role}]" if role
    message
  end
}

#reasonObject (readonly)

Returns the value of attribute reason

Returns:

  • (Object)

    the current value of reason



53
54
55
56
57
58
59
60
61
62
# File 'lib/wsdl/response/fault.rb', line 53

Fault = Data.define(:code, :subcodes, :reason, :detail, :node, :role) {
  # Returns a human-readable summary of the fault.
  #
  # @return [String] fault summary
  def to_s
    message = "(#{code}) #{reason}"
    message << " [role: #{role}]" if role
    message
  end
}

#roleObject (readonly)

Returns the value of attribute role

Returns:

  • (Object)

    the current value of role



53
54
55
56
57
58
59
60
61
62
# File 'lib/wsdl/response/fault.rb', line 53

Fault = Data.define(:code, :subcodes, :reason, :detail, :node, :role) {
  # Returns a human-readable summary of the fault.
  #
  # @return [String] fault summary
  def to_s
    message = "(#{code}) #{reason}"
    message << " [role: #{role}]" if role
    message
  end
}

#subcodesObject (readonly)

Returns the value of attribute subcodes

Returns:

  • (Object)

    the current value of subcodes



53
54
55
56
57
58
59
60
61
62
# File 'lib/wsdl/response/fault.rb', line 53

Fault = Data.define(:code, :subcodes, :reason, :detail, :node, :role) {
  # Returns a human-readable summary of the fault.
  #
  # @return [String] fault summary
  def to_s
    message = "(#{code}) #{reason}"
    message << " [role: #{role}]" if role
    message
  end
}

Instance Method Details

#to_sString

Returns a human-readable summary of the fault.

Returns:

  • (String)

    fault summary



57
58
59
60
61
# File 'lib/wsdl/response/fault.rb', line 57

def to_s
  message = "(#{code}) #{reason}"
  message << " [role: #{role}]" if role
  message
end