[ruby-it] soap4r e mod_ruby
Andrea Pinazzi
follettoonip a gmail.com
Mer 19 Ago 2009 14:34:44 CEST
Salve a tutti, sto cercando ( da un po' ormai ) di capire come
realizzare un servizio soap che possa girare su apache con mod_ruby
In rete la totalità degli esempi riguarda server standalone
# server.rbx ######################################################
require 'soap/rpc/cgistub'
class CalcServer < SOAP::RPC::CGIStub
def on_init
add_method( self, 'add', 'lhs', 'rhs' )
end
end
def add( lhs, rhs )
rhs + lhs
end
name = "CalcServer"
status = CalcServer.new( name, 'urn:ruby:calculation' ).start
##################################################################
#client.rb #############################################################
require 'soap/rpc/driver'
server = 'http://localhost/server.rbx'
uri = 'urn:ruby:calculation'
calc = SOAP::RPC::Driver.new(server, uri )
calc.wiredump_dev = STDERR if $DEBUG
calc.add_method( 'add', 'lhs', 'rhs' )
puts 'add: 1 + 2 # => 3'
puts calc.add(1, 2)
##########################################################################
# Errore:
################################################################
SecurityError: Insecure: can't intern tainted string
from /usr/lib/ruby/1.8/soap/mapping/mapping.rb:210:in `const_defined?'
from /usr/lib/ruby/1.8/soap/mapping/mapping.rb:210:in
`const_from_name'
from /usr/lib/ruby/1.8/soap/mapping/mapping.rb:202:in `each'
from /usr/lib/ruby/1.8/soap/mapping/mapping.rb:202:in
`const_from_name'
from /usr/lib/ruby/1.8/soap/mapping/mapping.rb:221:in
`class_from_name'
from /usr/lib/ruby/1.8/soap/mapping/rubytypeFactory.rb:424:in
`unknownstruct2obj'
from /usr/lib/ruby/1.8/soap/mapping/rubytypeFactory.rb:405:in
`unknowntype2obj'
from /usr/lib/ruby/1.8/soap/mapping/rubytypeFactory.rb:251:in
`soap2obj'
from /usr/lib/ruby/1.8/soap/mapping/registry.rb:479:in `_soap2obj'
from /usr/lib/ruby/1.8/soap/mapping/registry.rb:428:in `soap2obj'
from /usr/lib/ruby/1.8/soap/mapping/mapping.rb:146:in `_soap2obj'
from /usr/lib/ruby/1.8/soap/mapping/mapping.rb:59:in `soap2obj'
from /usr/lib/ruby/1.8/soap/mapping/mapping.rb:360:in
`protect_threadvars'
from /usr/lib/ruby/1.8/soap/mapping/mapping.rb:55:in `soap2obj'
from /usr/lib/ruby/1.8/soap/rpc/router.rb:434:in `request_rpc_enc'
from /usr/lib/ruby/1.8/soap/rpc/router.rb:418:in `request_rpc'
from /usr/lib/ruby/1.8/soap/rpc/router.rb:391:in `call'
from /usr/lib/ruby/1.8/soap/rpc/router.rb:168:in `route'
from /usr/lib/ruby/1.8/soap/rpc/soaplet.rb:88:in `do_POST'
from /usr/lib/ruby/1.8/soap/rpc/cgistub.rb:170:in `run'
from /usr/lib/ruby/1.8/logger.rb:659:in `start'
from /home/onip/public_html/server.rbx:18
from /usr/lib/ruby/1.8/apache/ruby-run.rb:53:in `load'
from /usr/lib/ruby/1.8/apache/ruby-run.rb:53:in `handler'
from /usr/lib/ruby/1.8/soap/rpc/proxy.rb:354:in `raise_fault'
from /usr/lib/ruby/1.8/soap/rpc/proxy.rb:147:in `call'
from /usr/lib/ruby/1.8/soap/rpc/driver.rb:178:in `call'
from /usr/lib/ruby/1.8/soap/rpc/driver.rb:232:in `add'
###########################################################################
Attualmente sto utilizzando ruby-1.8.6_p369, mod_ruby-1.2.6 e le
librerie soap4r incluse nella distribuzione di ruby (ho provato anche a
sostituire i file con la nuova versione della libreria, ma l'errore
rimane)
Grazie a tutti per l'aiuto
--
Posted via http://www.ruby-forum.com/.
More information about the Ml
mailing list