Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nusoap, basic authentication i ssl
Forum PHP.pl > Forum > PHP
zolar
Witam

proszę o pomoc w rozwiązaniu następującego problemu: próbuję przez nusoap wywołać webserwis przez https. Dodatkowo dostęp jest blokowany przez autentykacje.
Próbowałem wpisywać nazwę użytkownika i hasło do urla, próbowałem wywołać też metodę setCredentials(...). Niestety dla kombinacji https + autentykacja nie mogę wywołać webserwisa. Gdy jest autentykacja i dostęp przez htttp - działa. Sam dostęp przez https też działa.

Czy ktoś może mi pomóc?

Pozdrowienia,
Mirek
mls
Do autoryzacji przez SSL wymagany jest certyfikat serwera. To taka moja mała podpowiedź...
zolar
Hmmm... Czyli muszę wskazać "gdzieś" na plik z certyfikatem serwera? Przejrzałem opis metody .setCredentials(...) i tam można faktycznie podać url do pliku z certyfikatem. Wystarczy teraz zapisać certyfikat serwera z poziomu przeglądarki (np.Mozilla Firefox) i go wskazać?
Czy o to chodzi, czy o coś zupełnie innego?



Naprawdę nikt nie potrafi mi pomóc..?
erix
To nie możesz po prostu spróbować i zawracać głowę wtedy, gdy nie będzie działać?
zolar
Próbuję tak:

  1. <?php
  2. $wsdl_addr = 'https://user:pass@server/mantis/api/soap/mantisconnect.php?wsdl';
  3. $namespace = "http://futureware.biz/mantisconnect";
  4.  
  5. $client = new nusoap_client($wsdl_addr, 'wsdl');
  6. $certRequest1 = Array ('cainfofile' => '...', 'sslcertfile' => 'max.crt', 'sslkeyfile' => '...', 'passphrase' => 'pass');
  7. $client->setCredentials("user","pass", "basic", array(), $certRequest1);
  8.  
  9. $client->decode_utf8 = false;
  10. $client->username = $uname;                    
  11. $client->password = $upass;    
  12. $result = $client->call('mc_version', $namespace);
  13. echo $client->debug_str;
  14. ?>



w debugu dostaję:

009-06-26 22:01:18.926954 soap_transport_http: no proper separation of headers and document
2009-06-26 22:01:18.927371 soap_transport_http: end of send()
2009-06-26 22:01:18.927801 wsdl: HTTP ERROR: no proper separation of headers and document
2009-06-26 22:01:18.928443 nusoap_client: checkWSDL
2009-06-26 22:01:18.928872 nusoap_client: got wsdl error: HTTP ERROR: no proper separation of headers and document

Co robię źle?
bajmar
Czy udało się rozwiązać problem?? mam problem z otrzymaniem danych z web service (ssl +basic auth)

czy to błędy autoryzacji czy tam nic nie ma?

...
2014-10-13 08:12:59.409439 soap_transport_http: set cURL POST data
2014-10-13 08:12:59.409451 soap_transport_http: set cURL payload
2014-10-13 08:12:59.409465 soap_transport_http: send and receive with cURL
2014-10-13 08:12:59.583091 soap_transport_http: No cURL error, closing cURL
2014-10-13 08:12:59.583319 soap_transport_http: found proper separation of headers and document
2014-10-13 08:12:59.583357 soap_transport_http: cleaned data, stringlen: 0
2014-10-13 08:12:59.583425 soap_transport_http: No Content-Encoding header
2014-10-13 08:12:59.583457 soap_transport_http: no data after headers!
2014-10-13 08:12:59.583486 soap_transport_http: end of send()
2014-10-13 08:12:59.583533 nusoap_client: Error: HTTP Error: no data present after HTTP headers
irekk
Nusoap to czyste zło wink.gif SoapClient jest znacznie lżejszy - dostępny jako moduł php oraz pozwala na więcej. Myślę że temat umarł 5 lat temu nie bez powodu wink.gif
bajmar
w takim razie już na początku zmieniam metodę.

z SoapClient bez problemu przeszło, dzięki!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.