2

I have a very simple ruby script that looks like this:

require 'savon'  

client = Savon::Client.new do
  wsdl.document = "http://server/app/app.svc?wsdl"
end

If I then do something like:

client.wsdl.operations

I get all of the operations from my service, so it is connecting and retrieving the wsdl correctly.

However, if I try to run an operation

response = client.request "Test"

I get "HTTPClient::ReceiveTimeoutError: execution expired" I am also looking at Fiddler, and don't see that any request was even made. I have confirmed the service works correctly through other technologies (C#, JS)

Any idea what I'm doing wrong?

Erix
  • 7,059
  • 2
  • 35
  • 61
  • 1
    your code should send a request. i'd need more information about your service to help out. let me know if there's a way to access that service. – rubiii Oct 20 '11 at 19:56
  • @rubiii unfortunately there's not. But at least I know there's nothing wrong with the Ruby code. Thanks. – Erix Oct 20 '11 at 19:57
  • you could try using another http client. savon uses [httpi](https://github.com/rubiii/httpi) to execute http request. trying net/http or curb might help you isolate the problem. – rubiii Oct 20 '11 at 20:09
  • 1
    look at the readme. try `HTTPI.adapter = :curb` or `HTTPI.adapter = :net_http`. – rubiii Oct 20 '11 at 20:43
  • Installing the curb gem and using the curb setting in rubiii's comment did the trick for me. Thanks! – Ten Bitcomb Jan 16 '15 at 00:36

0 Answers0