[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Soap and Http-access problem.

Ola Bini

8/4/2006 3:17:00 PM

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.bl...)
JvYAML, RbYAML, JRuby and Jatha contributor
System Developer, Karolinska Institutet (http:/...)
OLogix Consulting (http://www....)

"Yields falsehood when quined" yields falsehood when quined.



2 Answers

Ola Bini

8/7/2006 1:53:00 PM

0

NAKAMURA, Hiroshi wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
> Hmm. Trying to execute TCPSocket.new(nil, 0) here. Endpoint URL is
> broken somewhere.
>
>> d:/programming/ruby/lib/ruby/1.8/soap/streamHandler.rb:109:in `old_send'
>
> 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 :old_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.bl.../2006/08/rails-soap4r-and...

in the next to last paragraph.

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

"Yields falsehood when quined" yields falsehood when quined.



Ola Bini

8/8/2006 6:34:00 AM

0

NAKAMURA, Hiroshi wrote:
> -----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.bl...)
JvYAML, RbYAML, JRuby and Jatha contributor
System Developer, Karolinska Institutet (http:/...)
OLogix Consulting (http://www....)

"Yields falsehood when quined" yields falsehood when quined.