How to auth apache before soap request

  • Thread starter Alejandro Michelin salomon
  • Start date
A

Alejandro Michelin salomon

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:

<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;
</code>

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:in
`get_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:in
`import'
from D:/ruby/lib/ruby/1.8/wsdl/importer.rb:18:in `import'
from D:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:124:in `import'
from D:/ruby/lib/ruby/1.8/soap/wsdlDriver.rb:28:in `initialize'
from D:/projetos-ruby/soap/soap_cliente1.rb:10:in `new'
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
 

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

No members online now.

Forum statistics

Threads
473,763
Messages
2,569,562
Members
45,038
Latest member
OrderProperKetocapsules

Latest Threads

Top