Soap and Http-access problem.

O

Ola Bini

Hi,

I'm working on an application where some of the business logic is
accessible with SOAP. I've used SOAP4R to generate everything and it
works splendid (I use http-access2 since we require https). Anyway, a
week ago, this stopped working, for no reason I can figure out. But it
just stopped working on my dev machine, not on our production_test
server or anything. I'm sitting on Windows 2003, and the stack trace
looks like this:
Bad file descriptor - connect(2) (, #0)
d:/programming/ruby/lib/ruby/site_ruby/1.8/http-access2.rb:1391:in
`initialize'
d:/programming/ruby/lib/ruby/site_ruby/1.8/http-access2.rb:1391:in
`create_socket'
d:/programming/ruby/lib/ruby/site_ruby/1.8/http-access2.rb:1352:in `connect'
d:/programming/ruby/lib/ruby/1.8/timeout.rb:56:in `timeout'
d:/programming/ruby/lib/ruby/1.8/timeout.rb:76:in `timeout'
d:/programming/ruby/lib/ruby/site_ruby/1.8/http-access2.rb:1351:in `connect'
d:/programming/ruby/lib/ruby/site_ruby/1.8/http-access2.rb:1209:in `query'
d:/programming/ruby/lib/ruby/site_ruby/1.8/http-access2.rb:892:in `query'
d:/programming/ruby/lib/ruby/site_ruby/1.8/http-access2.rb:434:in
`do_get_block'
d:/programming/ruby/lib/ruby/site_ruby/1.8/http-access2.rb:370:in
`conn_request'
d:/programming/ruby/lib/ruby/site_ruby/1.8/http-access2.rb:285:in `request'
d:/programming/ruby/lib/ruby/site_ruby/1.8/http-access2.rb:264:in `post'
d:/programming/ruby/lib/ruby/1.8/soap/streamHandler.rb:170:in `send_post'
d:/programming/ruby/lib/ruby/1.8/soap/streamHandler.rb:109:in `old_send'
#{RAILS_ROOT}/vendor/lpw/lpw.rb:11:in `send'
d:/programming/ruby/lib/ruby/1.8/soap/rpc/proxy.rb:170:in `route'
d:/programming/ruby/lib/ruby/1.8/soap/rpc/proxy.rb:141:in `call'
d:/programming/ruby/lib/ruby/1.8/soap/rpc/driver.rb:178:in `call'
d:/programming/ruby/lib/ruby/1.8/soap/rpc/driver.rb:232:in `getUserData'
#{RAILS_ROOT}/app/models/address_information.rb:25:in `fetch'
#{RAILS_ROOT}/app/models/lpw_object.rb:23:in `fetch'
#{RAILS_ROOT}/app/controllers/lpw_controller.rb:110:in `addr'
d:/Programming/Ruby/bin/mongrel_rails:18

I would be very thankful for any help coming to terms with this.

Regards
--
Ola Bini (http://ola-bini.blogspot.com)
JvYAML, RbYAML, JRuby and Jatha contributor
System Developer, Karolinska Institutet (http://www.ki.se)
OLogix Consulting (http://www.ologix.com)

"Yields falsehood when quined" yields falsehood when quined.
 
O

Ola Bini

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Hmm. Trying to execute TCPSocket.new(nil, 0) here. Endpoint URL is
broken somewhere.


Do you know what's 'old_send' here? What version of soap4r are you using?

Regards,
// NaHi

Hi,

I'm using Soap4R 1.5.5. Regarding the old_send, that's the result of
monkey_patching, since I add some big problems with another thing. Hmm.
old_send is just send renamed. But this shouldn't be the problem, it
works on another machine and has worked on this machine. The monkey
patching looks like this:

module SOAP
class HTTPStreamHandler
alias :eek:ld_send :send
def send(endpoint_url, conn_data, soapaction = nil, charset = @charset)
ret = old_send(endpoint_url,conn_data,soapaction,charset)
if ret.receive_string =~ /.*?(<\?xml.*?<\/soapenv:Envelope>).*?/m
ret.receive_string = $1
end
ret
end
end
end

and the reason that is is necessary can you find here:
http://ola-bini.blogspot.com/2006/08/rails-soap4r-and-java.html

in the next to last paragraph.

Regards
--
Ola Bini (http://ola-bini.blogspot.com)
JvYAML, RbYAML, JRuby and Jatha contributor
System Developer, Karolinska Institutet (http://www.ki.se)
OLogix Consulting (http://www.ologix.com)

"Yields falsehood when quined" yields falsehood when quined.
 
O

Ola Bini

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

Ola Bini wrote:
Do your production and development environment both uses http proxy to
access foreign WS?

Hi,

Nope, no proxies anywhere. It's a straight call through https to the
other machine.
Hmm. There must be an attachment interoperability problem. Can I see
entire response XML?

I don't have it available right now, but I'll dig after it. Suffice to
say, there was noise before <?xml (some kind of multipart structure,
maybe), and what looked like the complete PDF sent attached after (the
same data contained in a byte-array inside the SOAP-response)

Regards
--
Ola Bini (http://ola-bini.blogspot.com)
JvYAML, RbYAML, JRuby and Jatha contributor
System Developer, Karolinska Institutet (http://www.ki.se)
OLogix Consulting (http://www.ologix.com)

"Yields falsehood when quined" yields falsehood when quined.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,011
Latest member
AjaUqq1950

Latest Threads

Top