php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.10.2008, 16:45  
Neuer Benutzer
 
Registriert seit: 22.10.2008
Beiträge: 4
armitage befindet sich auf einem aufstrebenden Ast
Standard PHP Soap mit SSL

Hallo, ihr Profis, viellecht könnt ihr mir helfen.
Ich sitze schon seit 2 Tagen an einem Problem, das ich nicht lösen kann.

Es geht um Folgendes:

Ich habe einen Web-Service (implementiert mit php::soap) auf der XAMPP-Umgebung laufen. Wenn ich mich an den Service als Client über http anschliesse funktioniert alles einwandfrei.

Wenn ich aber das Ganze auf https umschalte, dann kann ich zwar die wsdl über https://localhost/blabla.wsdl ansprechen, aber der Client (SoapClient) meldet beim Aufruf des Web-Services folgende Fehlermeldung:

---------------------------------------------------------------------------
Warning: SoapClient::SoapClient() [soapclient.soapclient]: I/O warning : failed to load external entity "https://localhost/blabla.wsdl"

Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://localhost/blabla.wsdl'

---------------------------------------------------------------------------

Ich habe schon xampp neuinstalliert und alles mögliche ausprobiert, aber der Fehler bleibt weiterhin bestehen, und mir gehen langsam die Ideen aus.

Ich bin für jede Hilfe dankbar.
armitage ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.10.2008, 16:59  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

apache ssl aktiviert? propier mal im browser https://localhost/ aufzurufen.
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson ist offline   Mit Zitat antworten
Alt 22.10.2008, 17:34  
Neuer Benutzer
 
Registriert seit: 22.10.2008
Beiträge: 4
armitage befindet sich auf einem aufstrebenden Ast
Standard

Ja, normale Seitenaufrufe klappen auch unter https einwandfrei, ich habe vergessen, es zu erwähnen.

in der httpd-ssl.conf steht die Option SSLEngine = On und der Virtual Host ist korrekt eingestellt.

Das ist das Seltsame: Soap ohne ssl und ssl ohne Soap funktionieren, zusammen geht das aber nicht.

Übrigens, an dem Inhalt der wsdl scheint es nicht zu liegen, da habe ich alle Urls auf https umgestellt.

Der Fehler tritt beim Erzeugen der SoapClient bzw. SoapServer - Objekte

Ideen?
armitage ist offline   Mit Zitat antworten
Alt 22.10.2008, 18:03  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

Ich denke dein Problem sind die ssl-zertifikate die dein XAMPP nutzt.
Die werden wohl selbst-signiert sein, diese werden bei den meisten tools standardmäßig abgelehnt, ausser man erlaubt es explizit

Entweder bietet PHP::SOAP dazu irgendwo eine Option an, das zu erlauben oder es muss für die komponente erlaubt werden die den zugriff innerhalb der klasse macht [könnten standard-streams von php oder auch curl sein ??]

Mal so ein Links zum Manual die weiterhelfen könnten:
PHP: SSL context options - Manual
PHP: CURL context options - Manual

Ansonsten musst du halt via curl manuell die wsdl runterladen und dann SOAP übergeben
robo47 ist offline   Mit Zitat antworten
Alt 22.10.2008, 18:17  
Neuer Benutzer
 
Registriert seit: 22.10.2008
Beiträge: 4
armitage befindet sich auf einem aufstrebenden Ast
Standard

Danke für deine Antwort.

Die Zertifikate sind selbstsigniert, aber ich erlaube sie explizit bei der Erzeugung des Clients.

Code:
  $context["ssl"]["local_cert"] = "server.crt";
  $stream_context = stream_context_create($context);

  $soap_client_url = "https://localhost:10005/blabla.wsdl";
  

  $client = new SoapClient( $soap_client_url, 
                  array(    
		    "trace" => true, 
                    "exceptions" => true, 
                    "stream_context" => $stream_context,
                    "local_cert" => "server.crt"
                    )
                  );
Ich habe den Serviceaufruf auch mit einem J2ME-Client versucht, das scheitert ebenso, aber erst nachdem das Zertifikat erfolgreich akzeptiert wurde.
armitage ist offline   Mit Zitat antworten
Alt 22.10.2008, 20:01  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von armitage Beitrag anzeigen
Danke für deine Antwort.

Die Zertifikate sind selbstsigniert, aber ich erlaube sie explizit bei der Erzeugung des Clients.

Code:
  $context["ssl"]["local_cert"] = "server.crt";
  $stream_context = stream_context_create($context);

  $soap_client_url = "https://localhost:10005/blabla.wsdl";
  

  $client = new SoapClient( $soap_client_url, 
                  array(    
            "trace" => true, 
                    "exceptions" => true, 
                    "stream_context" => $stream_context,
                    "local_cert" => "server.crt"
                    )
                  );
Ich habe den Serviceaufruf auch mit einem J2ME-Client versucht, das scheitert ebenso, aber erst nachdem das Zertifikat erfolgreich akzeptiert wurde.
(gemäß beispiel wäre eine .pem erforderlich.) --> die klammern sind absicht. keine ahnung ob das stimmt
PHP-Code:
$client = new SoapClient("some.wsdl", array('local_cert'     => "cert_key.pem")); 
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson ist offline   Mit Zitat antworten
Alt 23.10.2008, 10:55  
Neuer Benutzer
 
Registriert seit: 22.10.2008
Beiträge: 4
armitage befindet sich auf einem aufstrebenden Ast
Standard

Hm, kann sein. Was soll hier stehen, die Kopie des Zertifikats oder nur der öffentliche Schlüssel?

Aber bis zu der Stelle komme ich gar nicht. Wenn ich direkt den Skript aufrufe, der den SoapServer erstellt, bekomme ich dieselbe Fehlermeldung. Es liegt also beim Server.
armitage ist offline   Mit Zitat antworten
Alt 21.07.2010, 10:19  
Neuer Benutzer
 
Registriert seit: 21.07.2010
Beiträge: 8
PHP-Kenntnisse:
Fortgeschritten
pysio befindet sich auf einem aufstrebenden Ast
Standard Lösung?

wie wurde das Problem nun gelöst?
Ich habe genau das gleiche Problem.

Danke im voraus.
pysio ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zugriff auf complexType Rückgabe Objekt von SOAP Aufruf? kuschky PHP-Fortgeschrittene 3 24.06.2010 12:35
SOAP Dokumentelstil Mad_Dog PHP-Fortgeschrittene 2 19.09.2008 20:27
[Erledigt] Probleme mit SSL Wrapper (https://) Frank PHP-Fortgeschrittene 0 18.09.2008 14:26
Fragen und Verwendung der SOAP Erweiterung von PHP Tanja PHP-Fortgeschrittene 5 15.09.2008 09:29
Webdienst SOAP earlofkiel PHP-Fortgeschrittene 2 05.08.2008 16:41
XML Datei mit Zertifikat versenden via SOAP + PHP haarausfall PHP Tipps 2008 1 30.01.2008 21:53
Größenbeschränkung bei PEAR SOAP Antwort? Anotherone PHP-Fortgeschrittene 1 13.01.2008 20:32
SOAP Server Parameter richtig zuordnen Anotherone PHP Tipps 2008 0 12.12.2007 11:23
SOAP bindings ?!? stonefred71 PHP-Fortgeschrittene 0 08.11.2007 18:27
php5 soap extension, soap attachment zcmaster PHP-Fortgeschrittene 0 07.08.2006 16:09
SOAP und PHP cola PHP-Fortgeschrittene 21 01.06.2006 11:33
SOAP - rudimentäre Frage PHP Tipps 2007 2 31.05.2006 14:01
Stabilität von SOAP (client) unter PHP5 ? Infos gesucht. PHP-Fortgeschrittene 5 13.09.2005 07:01
[Erledigt] XML String an Webservice übergeben (SOAP) PHP-Fortgeschrittene 3 26.08.2005 12:40
SOAP in PHP5 für NuSoap deaktivieren PHP-Fortgeschrittene 2 03.08.2005 18:23

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php soap ssl, php soap https, soap ssl, php soapclient ssl, soapclient ssl, php soapclient https, soap https php, soap php ssl, php soap local_cert, php soap client ssl, php ssl soap, php soap failed to load external entity, wsdl ssl, soap php https, php soap client https, soapclient ssl php, soap i/o warning : failed to load external entity, soapclient php ssl, soap client ssl, php webservice ssl

Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum