How to auth apache before soap request


#1

hi :
I am new to ruby.

I am doing some work wiht soap.
I create a webservice server with php and a client with ruby.
The problem is that wdsl file is place in a subfolder that the parent is
protected by apache authentication.

This is the client code:

require 'net/http' require 'rubygems' require 'soap/wsdlDriver'

#This is folder is authenticated by apache : http://localhost/homeinf

wsdl_url = “http://localhost/homeinf/wbs/teste.wsdl”; # note that is
under authenticated folder

user = “peter”;
pass = “peter123”;

soap = SOAP::WSDLDriverFactory.new(wsdl_url); # this fail.
soap.options[“protocol.http.basic_auth”] << [wsdl_url,user,pass];
driver = soap.create_rpc_driver;

This give this error :
"
D:/ruby/lib/ruby/gems/1.8/gems/httpclient-2.1.3.1/lib/httpclient.rb:829:in
follow_redirect': unexpected response: #<HTTP::M essage::Headers:0x309b070 @body_date=nil, @status_code=401, @dumped=false, @request_method=nil, @body_charset=nil, @request_ via_proxy=nil, @chunked=false, @http_version="1.1", @header_item=[["Date", "Thu, 12 Feb 2009 17:06:39 GMT"], ["Server", "Apa che/2.2.11 (Win32) PHP/5.2.8"], ["WWW-Authenticate", "Basic realm=\"teee\""], ["Content-Length", "401"], ["Content-Type", "t ext/html; charset=iso-8859-1"]], @body_size=0, @body_type=nil, @request_query=nil, @is_request=false, @reason_phrase="Author ization Required", @request_uri=nil> (HTTPClient::BadResponseError) from D:/ruby/lib/ruby/gems/1.8/gems/httpclient-2.1.3.1/lib/httpclient.rb:514:inget_content’
from D:/ruby/lib/ruby/1.8/wsdl/xmlSchema/importer.rb:64:in
fetch' from D:/ruby/lib/ruby/1.8/wsdl/xmlSchema/importer.rb:30:inimport’
from D:/ruby/lib/ruby/1.8/wsdl/importer.rb:18:in import' from D:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:124:inimport’
from D:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:28:in initialize' from D:/projetos-ruby/soap/soap_cliente1.rb:10:innew’
from D:/projetos-ruby/soap/soap_cliente1.rb:10
"

soap = SOAP::WSDLDriverFactory.new(wsdl_url) can not read the wsdl file,
becouse apache block it due authtentication fail.

How to do the apache auth before i call soap?

Thanks in advance