from soap4r-ml
Here is failing test case (using 1.5.7):
----------
require 'soap/rpc/router'
require 'soap/mapping/mapping'
require 'soap/processor'
require 'test/unit'
class SoapFaultParseArrayRaises < Test::Unit::TestCase
# simulate the soap fault creation and parsing on the client
def test_parse_fault
router = SOAP::RPC::Router.new('parse_SOAPArray_error')
soap_fault = pump_stack rescue router.create_fault_response($!)
env = SOAP::Processor.unmarshal(soap_fault.send_string)
soap_fault = SOAP::FaultError.new(env.body.fault)
SOAP::Mapping.fault2exception(soap_fault,
SOAP::Mapping::LiteralRegistry.new)
end
def pump_stack(max = 0)
raise ArgumentError if max > 10
pump_stack(max+1)
end
end
-----------
results in NoMethodError: undefined method `members' for
#<SOAP::SOAPArray:0x1650c10>
I'm seeing this when invoking a doclit service that raises an
exception. The exception then results in soap fault. Can you reproduce
it?
Thanks,
emil