JRuby error with Savon gem

I’m having a bit of an issue with JRuby in Windows, working with the
Savon(
www.savonrb.com) gem. I don’t know what could be causing the issue, so
maybe someone here knows what’s going on.

I have a very simple SOAP request going through savon to a remote
service.
This issue only seems to happen on Windows+JRuby, where my Mac at home
doesn’t have this issue at all for any Ruby (JRuby, MRI, or other).

Below is a stacktrace:

TypeError: Builder::XmlMarkup#to_ary should return Array

C:/jruby-1.6.4/lib/ruby/gems/1.8/gems/builder-3.0.0/lib/builder/xmlbase.rb:63:in

org/jruby/RubyBasicObject.java:1691:in `__send__'
org/jruby/RubyKernel.java:2117:in `send'

C:/jruby-1.6.4/lib/ruby/gems/1.8/gems/savon-0.9.6/lib/savon/client.rb:162:in
method_missing' C:/mydocs/Work/mantisrb/tests/../lib/mantisrb/config.rb:18:in severities’
C:/mydocs/Work/mantisrb/tests/mantis_spec.rb:35:in
test_0004_should_get_a_list_of_severities' org/jruby/RubyBasicObject.java:1685:in send

-Nick K.

On Wed, Aug 24, 2011 at 4:02 PM, Nick K. [email protected] wrote:

C:/jruby-1.6.4/lib/ruby/gems/1.8/gems/builder-3.0.0/lib/builder/xmlbase.rb:155:in

`_nested_structures’

Odd…something like this shouldn’t vary across platforms. It’s the
same “builder” gem and JRuby version on both Windows and your Mac,
right?

Looking at the code of builder, it seems like it’s probably the “self”
being passed to some block that tries to expand it to an array. That
could be a JRuby bug (not expanding or not handling something that
can’t expand) or something peculiar in your environment.

Try running with -Xbacktrace.style=raw passed to JRuby, which will
show us internal line numbers as well.

  • Charlie

Hm, JRuby isn’t handling the -X option, it seems

PS C:\mydocs\Work\mantisrb> jruby -h
Usage: jruby [switches] [–] [programfile] [arguments]

PS C:\mydocs\Work\mantisrb> jruby -Xbacktrace.style=raw
tests\mantis_spec.rb
Error opening script file: C:/mydocs/Work/mantisrb/.style=raw (The
system
cannot find the file specified)
PS C:\mydocs\Work\mantisrb> jruby tests\mantis_spec.rb
-Xbacktrace.style=raw
OptionParser::InvalidOption: invalid option: -Xbacktrace
complete at C:/jruby-1.6.4/lib/ruby/1.9/optparse.rb:1459
catch at org/jruby/RubyKernel.java:1205
complete at C:/jruby-1.6.4/lib/ruby/1.9/optparse.rb:1457
parse_in_order at C:/jruby-1.6.4/lib/ruby/1.9/optparse.rb:1297
catch at org/jruby/RubyKernel.java:1205
parse_in_order at C:/jruby-1.6.4/lib/ruby/1.9/optparse.rb:1264
order! at C:/jruby-1.6.4/lib/ruby/1.9/optparse.rb:1258
permute! at C:/jruby-1.6.4/lib/ruby/1.9/optparse.rb:1349
parse! at C:/jruby-1.6.4/lib/ruby/1.9/optparse.rb:1370
process_args at
C:/jruby-1.6.4/lib/ruby/gems/1.8/gems/minitest-2.5.0/lib/minitest/unit.rb:856
initialize at C:/jruby-1.6.4/lib/ruby/1.9/optparse.rb:799
process_args at
C:/jruby-1.6.4/lib/ruby/gems/1.8/gems/minitest-2.5.0/lib/minitest/unit.rb:835
_run at
C:/jruby-1.6.4/lib/ruby/gems/1.8/gems/minitest-2.5.0/lib/minitest/unit.rb:885
run at
C:/jruby-1.6.4/lib/ruby/gems/1.8/gems/minitest-2.5.0/lib/minitest/unit.rb:878
autorun at
C:/jruby-1.6.4/lib/ruby/gems/1.8/gems/minitest-2.5.0/lib/minitest/unit.rb:658
-Nick K.

That’s very strange…perhaps there’s an old jruby-launcher installed?

Anyway, that -X form is just sugar for -J-Djruby.backtrace.style=raw,
so give that a try.

  • Charlie

I got this error to happen with OS X as well, and fortunately, I’m not
having weird issues with the -X and -J-D options, so here’s a lengthy
stacktrace:

$ ruby -Xbacktrace.style=raw spec/mantis_spec.rb --name
test_0001_should_get_a_project_list_if_there_are_projects
Run options: --name
test_0001_should_get_a_project_list_if_there_are_projects --seed 61884

Running tests:

D, [2011-08-25T19:53:12.997000 #56429] DEBUG – : HTTPI executes HTTP
GET
using the net_http adapter
E

Fabulous tests in 3.313000s, 0.3018 tests/s, 0.0000 assertions/s.

  1. Error:
    test_0001_should_get_a_project_list_if_there_are_projects(Mantis::Session::Mantis::
    projects):
    TypeError: Builder::XmlMarkup#to_ary should return Array
    java/lang/Thread.java:1503:in getStackTrace' org/jruby/runtime/backtrace/TraceType.java:60:in getBacktraceData’
    org/jruby/runtime/backtrace/TraceType.java:26:in getBacktrace' org/jruby/RubyException.java:160:in prepareBacktrace’
    org/jruby/exceptions/RaiseException.java:205:in preRaise' org/jruby/exceptions/RaiseException.java:195:in preRaise’
    org/jruby/exceptions/RaiseException.java:112:in <init>' org/jruby/Ruby.java:3318:in newRaiseException’
    org/jruby/Ruby.java:3140:in newTypeError' org/jruby/util/TypeConverter.java:119:in convertToType’
    org/jruby/RubyBasicObject.java:697:in convertToArray' org/jruby/RubyProc.java:245:in call19’
    org/jruby/RubyProc$i$0$0$call19.gen:65535:in call' org/jruby/internal/runtime/methods/DynamicMethod.java:211:in call’
    org/jruby/internal/runtime/methods/DynamicMethod.java:207:in call' org/jruby/runtime/callsite/CachingCallSite.java:167:in call’
    org/jruby/ast/CallOneArgNode.java:57:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/BlockNode.java:71:in interpret' org/jruby/ast/EnsureNode.java:96:in interpret’
    org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD' org/jruby/internal/runtime/methods/InterpretedMethod.java:190:in call’
    org/jruby/internal/runtime/methods/DefaultMethod.java:179:in call' org/jruby/runtime/callsite/CachingCallSite.java:167:in call’
    org/jruby/ast/FCallOneArgNode.java:36:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/EnsureNode.java:96:in interpret' org/jruby/ast/BeginNode.java:83:in interpret’
    org/jruby/ast/NewlineNode.java:104:in interpret' org/jruby/ast/BlockNode.java:71:in interpret’
    org/jruby/ast/IfNode.java:117:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/BlockNode.java:71:in interpret' org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD’
    org/jruby/internal/runtime/methods/InterpretedMethod.java:298:in
    call' org/jruby/internal/runtime/methods/DefaultMethod.java:219:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:244:in callBlock' org/jruby/runtime/callsite/CachingCallSite.java:250:in call’
    org/jruby/ast/FCallSpecialArgBlockPassNode.java:42:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD' org/jruby/internal/runtime/methods/InterpretedMethod.java:298:in call’
    org/jruby/internal/runtime/methods/DefaultMethod.java:219:in call' org/jruby/runtime/callsite/CachingCallSite.java:244:in callBlock’
    org/jruby/runtime/callsite/CachingCallSite.java:250:in call' org/jruby/ast/CallThreeArgBlockPassNode.java:64:in interpret’
    org/jruby/ast/NewlineNode.java:104:in interpret' org/jruby/ast/BlockNode.java:71:in interpret’
    org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD' org/jruby/internal/runtime/methods/InterpretedMethod.java:255:in call’
    org/jruby/internal/runtime/methods/DefaultMethod.java:203:in call' org/jruby/runtime/callsite/CachingCallSite.java:342:in cacheAndCall’
    org/jruby/runtime/callsite/CachingCallSite.java:212:in callBlock' org/jruby/runtime/callsite/CachingCallSite.java:221:in callIter’
    org/jruby/ast/FCallTwoArgBlockNode.java:34:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/IfNode.java:119:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/BlockNode.java:71:in interpret' org/jruby/evaluator/ASTInterpreter.java:112:in INTERPRET_BLOCK’
    org/jruby/runtime/Interpreted19Block.java:203:in evalBlockBody' org/jruby/runtime/Interpreted19Block.java:191:in yield’
    org/jruby/runtime/Interpreted19Block.java:122:in call' org/jruby/runtime/Block.java:89:in call’
    org/jruby/RubyProc.java:274:in call' org/jruby/RubyProc.java:262:in call19’
    org/jruby/RubyProc$i$0$0$call19.gen:65535:in call' org/jruby/internal/runtime/methods/DynamicMethod.java:211:in call’
    org/jruby/internal/runtime/methods/DynamicMethod.java:207:in call' org/jruby/runtime/callsite/CachingCallSite.java:312:in cacheAndCall’
    org/jruby/runtime/callsite/CachingCallSite.java:169:in call' org/jruby/ast/CallOneArgNode.java:57:in interpret’
    org/jruby/ast/NewlineNode.java:104:in interpret' org/jruby/ast/BlockNode.java:71:in interpret’
    org/jruby/ast/EnsureNode.java:96:in interpret' org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD’
    org/jruby/internal/runtime/methods/InterpretedMethod.java:190:in
    call' org/jruby/internal/runtime/methods/DefaultMethod.java:179:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:312:in
    cacheAndCall' org/jruby/runtime/callsite/CachingCallSite.java:169:in call’
    org/jruby/ast/FCallOneArgNode.java:36:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/EnsureNode.java:96:in interpret' org/jruby/ast/BeginNode.java:83:in interpret’
    org/jruby/ast/NewlineNode.java:104:in interpret' org/jruby/ast/BlockNode.java:71:in interpret’
    org/jruby/ast/IfNode.java:117:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/BlockNode.java:71:in interpret' org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD’
    org/jruby/internal/runtime/methods/InterpretedMethod.java:298:in
    call' org/jruby/internal/runtime/methods/DefaultMethod.java:219:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:362:in
    cacheAndCall' org/jruby/runtime/callsite/CachingCallSite.java:246:in callBlock’
    org/jruby/runtime/callsite/CachingCallSite.java:250:in call' org/jruby/ast/FCallSpecialArgBlockPassNode.java:42:in interpret’
    org/jruby/ast/NewlineNode.java:104:in interpret' org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD’
    org/jruby/internal/runtime/methods/InterpretedMethod.java:298:in
    call' org/jruby/internal/runtime/methods/DefaultMethod.java:219:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:362:in
    cacheAndCall' org/jruby/runtime/callsite/CachingCallSite.java:246:in callBlock’
    org/jruby/runtime/callsite/CachingCallSite.java:250:in call' org/jruby/ast/CallThreeArgBlockPassNode.java:64:in interpret’
    org/jruby/ast/NewlineNode.java:104:in interpret' org/jruby/ast/BlockNode.java:71:in interpret’
    org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD' org/jruby/internal/runtime/methods/InterpretedMethod.java:298:in call’
    org/jruby/internal/runtime/methods/DefaultMethod.java:219:in call' org/jruby/runtime/callsite/CachingCallSite.java:362:in cacheAndCall’
    org/jruby/runtime/callsite/CachingCallSite.java:246:in callBlock' org/jruby/runtime/callsite/CachingCallSite.java:255:in callIter’
    org/jruby/ast/FCallThreeArgBlockNode.java:36:in interpret' org/jruby/ast/InstAsgnNode.java:95:in interpret’
    org/jruby/ast/OpAsgnOrNode.java:100:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD' org/jruby/internal/runtime/methods/InterpretedMethod.java:147:in call’
    org/jruby/internal/runtime/methods/DefaultMethod.java:163:in call' org/jruby/runtime/callsite/CachingCallSite.java:292:in cacheAndCall’
    org/jruby/runtime/callsite/CachingCallSite.java:135:in call' org/jruby/ast/CallNoArgNode.java:63:in interpret’
    org/jruby/ast/AttrAssignOneArgNode.java:33:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/BlockNode.java:71:in interpret' org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD’
    org/jruby/internal/runtime/methods/InterpretedMethod.java:233:in
    call' org/jruby/internal/runtime/methods/DefaultMethod.java:195:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:332:in
    cacheAndCall' org/jruby/runtime/callsite/CachingCallSite.java:203:in call’
    org/jruby/ast/FCallTwoArgNode.java:38:in interpret' org/jruby/ast/AttrAssignOneArgNode.java:33:in interpret’
    org/jruby/ast/NewlineNode.java:104:in interpret' org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD’
    org/jruby/internal/runtime/methods/InterpretedMethod.java:255:in
    call' org/jruby/internal/runtime/methods/DefaultMethod.java:203:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:342:in
    cacheAndCall' org/jruby/runtime/callsite/CachingCallSite.java:212:in callBlock’
    org/jruby/runtime/callsite/CachingCallSite.java:216:in call' org/jruby/RubyClass.java:807:in newInstance’
    org/jruby/RubyClass$i$newInstance.gen:65535:in call' org/jruby/internal/runtime/methods/JavaMethod.java:283:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:332:in
    cacheAndCall' org/jruby/runtime/callsite/CachingCallSite.java:203:in call’
    org/jruby/ast/CallTwoArgNode.java:59:in interpret' org/jruby/ast/CallNoArgNode.java:63:in interpret’
    org/jruby/ast/LocalAsgnNode.java:123:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/BlockNode.java:71:in interpret' org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD’
    org/jruby/internal/runtime/methods/InterpretedMethod.java:212:in
    call' org/jruby/internal/runtime/methods/DefaultMethod.java:187:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:322:in
    cacheAndCall' org/jruby/runtime/callsite/CachingCallSite.java:178:in callBlock’
    org/jruby/runtime/callsite/CachingCallSite.java:187:in callIter' org/jruby/ast/CallOneArgBlockNode.java:60:in interpret’
    org/jruby/ast/LocalAsgnNode.java:123:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD' org/jruby/internal/runtime/methods/InterpretedMethod.java:233:in call’
    org/jruby/internal/runtime/methods/DefaultMethod.java:195:in call' org/jruby/runtime/callsite/CachingCallSite.java:332:in cacheAndCall’
    org/jruby/runtime/callsite/CachingCallSite.java:203:in call' org/jruby/ast/FCallTwoArgNode.java:38:in interpret’
    org/jruby/ast/LocalAsgnNode.java:123:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/BlockNode.java:71:in interpret' org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD’
    org/jruby/internal/runtime/methods/InterpretedMethod.java:212:in
    call' org/jruby/internal/runtime/methods/DefaultMethod.java:187:in call’
    org/jruby/RubyClass.java:563:in finvoke' org/jruby/RubyBasicObject.java:1691:in send19’
    org/jruby/RubyKernel.java:2117:in send19' org/jruby/RubyKernel$s$send19.gen:65535:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:210:in callBlock' org/jruby/runtime/callsite/CachingCallSite.java:216:in call’
    org/jruby/ast/CallSpecialArgBlockPassNode.java:66:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/BlockNode.java:71:in interpret' org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD’
    org/jruby/internal/runtime/methods/InterpretedMethod.java:120:in
    call' org/jruby/internal/runtime/methods/DefaultMethod.java:145:in call’
    org/jruby/javasupport/util/RuntimeHelpers.java:497:in call' org/jruby/internal/runtime/methods/DynamicMethod.java:211:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:387:in
    callMethodMissing' org/jruby/runtime/callsite/CachingCallSite.java:309:in cacheAndCall’
    org/jruby/runtime/callsite/CachingCallSite.java:169:in call' org/jruby/ast/CallOneArgNode.java:57:in interpret’
    org/jruby/ast/LocalAsgnNode.java:123:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/BlockNode.java:71:in interpret' org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD’
    org/jruby/internal/runtime/methods/InterpretedMethod.java:147:in
    call' org/jruby/internal/runtime/methods/DefaultMethod.java:163:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:292:in
    cacheAndCall' org/jruby/runtime/callsite/CachingCallSite.java:135:in call’
    spec/mantis_spec.rb:36:in __file__' spec$mantis_spec$block_8$RUBY$__file__:65535:in call’
    org/jruby/runtime/CompiledBlock19.java:154:in yield' org/jruby/runtime/CompiledBlock19.java:82:in call’
    org/jruby/runtime/Block.java:89:in call' org/jruby/RubyProc.java:274:in call’
    org/jruby/internal/runtime/methods/ProcMethod.java:64:in call' org/jruby/internal/runtime/methods/DynamicMethod.java:203:in call’
    org/jruby/RubyClass.java:523:in finvoke' org/jruby/RubyBasicObject.java:1685:in send19’
    org/jruby/RubyBasicObject$i$send19.gen:65535:in call' org/jruby/internal/runtime/methods/JavaMethod.java:266:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:312:in
    cacheAndCall' org/jruby/runtime/callsite/CachingCallSite.java:169:in call’
    org/jruby/ast/CallOneArgNode.java:57:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/BlockNode.java:71:in interpret' org/jruby/ast/RescueNode.java:216:in executeBody’
    org/jruby/ast/RescueNode.java:120:in interpretWithJavaExceptions' org/jruby/ast/RescueNode.java:110:in interpret’
    org/jruby/ast/EnsureNode.java:96:in interpret' org/jruby/ast/BeginNode.java:83:in interpret’
    org/jruby/ast/NewlineNode.java:104:in interpret' org/jruby/ast/BlockNode.java:71:in interpret’
    org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD' org/jruby/internal/runtime/methods/InterpretedMethod.java:190:in call’
    org/jruby/internal/runtime/methods/DefaultMethod.java:179:in call' org/jruby/runtime/callsite/CachingCallSite.java:312:in cacheAndCall’
    org/jruby/runtime/callsite/CachingCallSite.java:169:in call' org/jruby/ast/CallOneArgNode.java:57:in interpret’
    org/jruby/ast/DAsgnNode.java:110:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/BlockNode.java:71:in interpret' org/jruby/evaluator/ASTInterpreter.java:112:in INTERPRET_BLOCK’
    org/jruby/runtime/Interpreted19Block.java:203:in evalBlockBody' org/jruby/runtime/Interpreted19Block.java:154:in yield’
    org/jruby/runtime/Block.java:130:in yield' org/jruby/RubyArray.java:2336:in collect’
    org/jruby/RubyArray.java:2344:in collect19' org/jruby/RubyArray$i$0$0$collect19.gen:65535:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:142:in callBlock' org/jruby/runtime/callsite/CachingCallSite.java:153:in callIter’
    org/jruby/ast/CallNoArgBlockNode.java:64:in interpret' org/jruby/ast/LocalAsgnNode.java:123:in interpret’
    org/jruby/ast/NewlineNode.java:104:in interpret' org/jruby/ast/BlockNode.java:71:in interpret’
    org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD' org/jruby/internal/runtime/methods/InterpretedMethod.java:233:in call’
    org/jruby/internal/runtime/methods/DefaultMethod.java:195:in call' org/jruby/runtime/callsite/CachingCallSite.java:201:in call’
    org/jruby/ast/FCallTwoArgNode.java:38:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/evaluator/ASTInterpreter.java:112:in INTERPRET_BLOCK' org/jruby/runtime/Interpreted19Block.java:203:in evalBlockBody’
    org/jruby/runtime/Interpreted19Block.java:154:in yield' org/jruby/runtime/Block.java:130:in yield’
    org/jruby/RubyArray.java:2336:in collect' org/jruby/RubyArray.java:2344:in collect19’
    org/jruby/RubyArray$i$0$0$collect19.gen:65535:in call' org/jruby/runtime/callsite/CachingCallSite.java:302:in cacheAndCall’
    org/jruby/runtime/callsite/CachingCallSite.java:144:in callBlock' org/jruby/runtime/callsite/CachingCallSite.java:153:in callIter’
    org/jruby/ast/CallNoArgBlockNode.java:64:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD' org/jruby/internal/runtime/methods/InterpretedMethod.java:233:in call’
    org/jruby/internal/runtime/methods/DefaultMethod.java:195:in call' org/jruby/runtime/callsite/CachingCallSite.java:332:in cacheAndCall’
    org/jruby/runtime/callsite/CachingCallSite.java:203:in call' org/jruby/ast/FCallTwoArgNode.java:38:in interpret’
    org/jruby/ast/LocalAsgnNode.java:123:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/BlockNode.java:71:in interpret' org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD’
    org/jruby/internal/runtime/methods/InterpretedMethod.java:190:in
    call' org/jruby/internal/runtime/methods/DefaultMethod.java:179:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:312:in
    cacheAndCall' org/jruby/runtime/callsite/CachingCallSite.java:169:in call’
    org/jruby/ast/FCallOneArgNode.java:36:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD' org/jruby/internal/runtime/methods/InterpretedMethod.java:169:in call’
    org/jruby/internal/runtime/methods/DefaultMethod.java:171:in call' org/jruby/RubyClass.java:523:in finvoke’
    org/jruby/RubyBasicObject.java:1685:in send19' org/jruby/RubyKernel.java:2113:in send19’
    org/jruby/RubyKernel$s$send19.gen:65535:in call' org/jruby/internal/runtime/methods/JavaMethod.java:266:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:312:in
    cacheAndCall' org/jruby/runtime/callsite/CachingCallSite.java:169:in call’
    org/jruby/ast/FCallOneArgNode.java:36:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/BlockNode.java:71:in interpret' org/jruby/evaluator/ASTInterpreter.java:112:in INTERPRET_BLOCK’
    org/jruby/runtime/Interpreted19Block.java:203:in evalBlockBody' org/jruby/runtime/Interpreted19Block.java:154:in yield’
    org/jruby/runtime/Block.java:130:in yield' org/jruby/RubyArray.java:1596:in eachCommon’
    org/jruby/RubyArray.java:1603:in each' org/jruby/RubyArray$i$0$0$each.gen:65535:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:302:in
    cacheAndCall' org/jruby/runtime/callsite/CachingCallSite.java:144:in callBlock’
    org/jruby/runtime/callsite/CachingCallSite.java:153:in callIter' org/jruby/ast/CallNoArgBlockNode.java:64:in interpret’
    org/jruby/ast/NewlineNode.java:104:in interpret' org/jruby/ast/BlockNode.java:71:in interpret’
    org/jruby/ast/RescueNode.java:216:in executeBody' org/jruby/ast/RescueNode.java:120:in interpretWithJavaExceptions’
    org/jruby/ast/RescueNode.java:110:in interpret' org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD’
    org/jruby/internal/runtime/methods/InterpretedMethod.java:190:in
    call' org/jruby/internal/runtime/methods/DefaultMethod.java:179:in call’
    org/jruby/runtime/callsite/CachingCallSite.java:312:in
    cacheAndCall' org/jruby/runtime/callsite/CachingCallSite.java:169:in call’
    org/jruby/ast/CallOneArgNode.java:57:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD' org/jruby/internal/runtime/methods/InterpretedMethod.java:190:in call’
    org/jruby/internal/runtime/methods/DefaultMethod.java:179:in call' org/jruby/runtime/callsite/CachingCallSite.java:312:in cacheAndCall’
    org/jruby/runtime/callsite/CachingCallSite.java:169:in call' org/jruby/ast/CallOneArgNode.java:57:in interpret’
    org/jruby/ast/DAsgnNode.java:110:in interpret' org/jruby/ast/NewlineNode.java:104:in interpret’
    org/jruby/ast/BlockNode.java:71:in interpret' org/jruby/evaluator/ASTInterpreter.java:112:in INTERPRET_BLOCK’
    org/jruby/runtime/Interpreted19Block.java:203:in evalBlockBody' org/jruby/runtime/Interpreted19Block.java:191:in yield’
    org/jruby/runtime/Interpreted19Block.java:122:in call' org/jruby/runtime/Block.java:89:in call’
    org/jruby/RubyProc.java:274:in call' org/jruby/RubyProc.java:233:in call’
    org/jruby/Ruby.java:2739:in tearDown' org/jruby/Ruby.java:2726:in tearDown’
    org/jruby/Main.java:201:in internalRun' org/jruby/Main.java:164:in run’
    org/jruby/Main.java:148:in run' org/jruby/Main.java:128:in main’

1 tests, 0 assertions, 0 failures, 1 errors, 0 skips
And for reference, the snippet of code to do it (JRuby 1.6.4, IRB
session):

$ jruby -Xbacktrace.style=raw -S irb -f
irb(main):001:0> require ‘savon’
=> true
irb(main):002:0> session = Savon::Client.new do
irb(main):003:1* wsdl.document = "
http://www.plangineering.com/nek/mantis/api/soap/mantisconnect.php?wsdl"
irb(main):004:1> end
=> #Savon::Client:0x77d17f01
irb(main):005:0> session.request :mc_version
D, [2011-08-25T19:51:08.868000 #56388] DEBUG – : HTTPI executes HTTP
GET
using the net_http adapter
TypeError: Builder::XmlMarkup#to_ary should return Array
from java/lang/Thread.java:1503:in getStackTrace' from org/jruby/runtime/backtrace/TraceType.java:60:in getBacktraceData’
from org/jruby/runtime/backtrace/TraceType.java:26:in getBacktrace' from org/jruby/RubyException.java:160:in prepareBacktrace’
from org/jruby/exceptions/RaiseException.java:205:in preRaise' from org/jruby/exceptions/RaiseException.java:195:in preRaise’
from org/jruby/exceptions/RaiseException.java:112:in <init>' from org/jruby/Ruby.java:3318:in newRaiseException’
from org/jruby/Ruby.java:3140:in newTypeError' from org/jruby/util/TypeConverter.java:119:in convertToType’
from org/jruby/RubyBasicObject.java:697:in convertToArray' from org/jruby/RubyProc.java:245:in call19’
from org/jruby/RubyProc$i$0$0$call19.gen:65535:in call' from org/jruby/internal/runtime/methods/DynamicMethod.java:211:in call’
from org/jruby/internal/runtime/methods/DynamicMethod.java:207:in
call' from org/jruby/runtime/callsite/CachingCallSite.java:167:in call’
… 266 levels…
from org/jruby/evaluator/ASTInterpreter.java:75:in INTERPRET_METHOD' from org/jruby/internal/runtime/methods/InterpretedMethod.java:190:in call’
from org/jruby/internal/runtime/methods/DefaultMethod.java:179:in
call' from org/jruby/runtime/callsite/CachingCallSite.java:312:in cacheAndCall’
from org/jruby/runtime/callsite/CachingCallSite.java:169:in call' from /Users/klauer/.rvm/rubies/jruby-1.6.4/bin/jirb:17:in (root)’
from
Users/klauer/$_dot_rvm/rubies/jruby_minus_1_dot_6_dot_4/bin//Users/klauer/.rvm/rubies/jruby-1.6.4/bin/jirb:-1:in
load' from org/jruby/Ruby.java:679:in runScript’
from org/jruby/Ruby.java:672:in runScript' from org/jruby/Ruby.java:579:in runNormally’
from org/jruby/Ruby.java:428:in runFromMain' from org/jruby/Main.java:278:in doRunFromMain’
from org/jruby/Main.java:198:in internalRun' from org/jruby/Main.java:164:in run’
from org/jruby/Main.java:148:in run' from org/jruby/Main.java:128:in main’irb(main):006:0>

-Nick K.