from soap4r-ml
I started working on some test/unit classes to look for variations in
a few web services I'm using. I started with something like this:
require 'soap/wsdlDriver'
require 'http-access2'
service = SOAP::WSDLDriverFactory.new("http://devserver/service.asmx?
WSDL").create_rpc_driver
result = service.User_Get("3025")
... and this worked just fine. Verified the input and output XML, and
things were looking bright.
Now, time to try this out on the test server against that deployment.
This time, the web service uses SSL. Using the exact same code,
changing only the WSDL path to reflect the new server and SSL, I now
get the following:
Exception: undefined method `empty?' for nil:NilClass
C:/ruby/lib/ruby/gems/1.8/gems/http-access-2.0.6.99.20070430/lib/http-
access2.rb:1589:in `read_body'
C:/ruby/lib/ruby/gems/1.8/gems/http-access-2.0.6.99.20070430/lib/http-
access2.rb:1368:in `get_data'
C:/ruby/lib/ruby/1.8/timeout.rb:56:in `timeout'
C:/ruby/lib/ruby/1.8/timeout.rb:76:in `timeout'
C:/ruby/lib/ruby/gems/1.8/gems/http-access-2.0.6.99.20070430/lib/http-
access2.rb:1367:in `get_data'
C:/ruby/lib/ruby/gems/1.8/gems/http-access-2.0.6.99.20070430/lib/http-
access2.rb:466:in `do_get_block'
C:/ruby/lib/ruby/gems/1.8/gems/http-access-2.0.6.99.20070430/lib/http-
access2.rb:393:in `conn_request'
C:/ruby/lib/ruby/gems/1.8/gems/http-access-2.0.6.99.20070430/lib/http-
access2.rb:309:in `request'
C:/ruby/lib/ruby/gems/1.8/gems/http-access-2.0.6.99.20070430/lib/http-
access2.rb:288:in `post'
C:/ruby/lib/ruby/1.8/soap/streamHandler.rb:170:in `send_post'
C:/ruby/lib/ruby/1.8/soap/streamHandler.rb:109:in `send'
C:/ruby/lib/ruby/1.8/soap/rpc/proxy.rb:170:in `route'
C:/ruby/lib/ruby/1.8/soap/rpc/proxy.rb:141:in `call'
C:/ruby/lib/ruby/1.8/soap/rpc/driver.rb:178:in `call'
C:/ruby/lib/ruby/1.8/soap/rpc/driver.rb:232:in `user_Get'
C:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:117:in `__send__'
C:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:117:in `User_Get'
C:/test/helper.rb:30:in `User_Get'
C:/test/test.rb:10:in `test_WS_01'
C:/ruby/lib/ruby/1.8/test/unit/testcase.rb:72:in `__send__'
C:/ruby/lib/ruby/1.8/test/unit/testcase.rb:72:in `run'
C:/ruby/lib/ruby/1.8/test/unit/testsuite.rb:34:in `run'
C:/ruby/lib/ruby/1.8/test/unit/testsuite.rb:33:in `each'
C:/ruby/lib/ruby/1.8/test/unit/testsuite.rb:33:in `run'
C:/ruby/lib/ruby/1.8/test/unit/testsuite.rb:34:in `run'
C:/ruby/lib/ruby/1.8/test/unit/testsuite.rb:33:in `each'
C:/ruby/lib/ruby/1.8/test/unit/testsuite.rb:33:in `run'
C:/ruby/lib/ruby/1.8/test/unit/ui/testrunnermediator.rb:46:in
`run_suite'
D:/Eclipse/plugins/org.rubypeople.rdt.testunit_0.8.1.609062100PRD/ruby/
RemoteTestRunner.rb:107:in `start_mediator'
D:/Eclipse/plugins/org.rubypeople.rdt.testunit_0.8.1.609062100PRD/ruby/
RemoteTestRunner.rb:52:in `start'
D:/Eclipse/plugins/org.rubypeople.rdt.testunit_0.8.1.609062100PRD/ruby/
RemoteTestRunner.rb:272
I've looked around, and tried a few suggestions for getting past SSL,
but none of the other issues out there seem to be the same thing that
I'm looking at. Any ideas?