ubuntuusers.de

SOAPClient "Could not connect to host"

Status: Gelöst | Ubuntu-Version: Server 16.04 (Xenial Xerus)
Antworten |

holimatic

Avatar von holimatic

Anmeldungsdatum:
15. Dezember 2009

Beiträge: 405

Wohnort: Rotkreuz

Hallo,

In meinem PHP Script kontaktiere ich mit folgendem Aufruf einen Soap Server.

try {
  $client = new SOAPClient('SoapServer.wsdl',array('exception' => true,'trace' => true));
  $arg0 = array('user'=>'Username','passwd'=>'Password'); etc...
} catch (SoapFault $E) {
  echo "EXCP:".$E->faultstring;
}

Seit dem Upgrade auf V16.04 geht dieser Aufruf nicht mehr und endet mit einem

"EXCP:Could not connect to host"

Vor dem Upgrade mit 14.04 hat dieser Aufruf einwandfrei funktioniert. Alle Versuche mit verschiedenen Parametern führten nicht zum Erfolg. In php.ini ist die Soap Schnittstelle natürlich freigegeben. Weitere Google searches haben nichts treffendes zu Tage gefördert, oder was ich nicht schon versucht hätte.

Der Betreiber des Servers hat mir versichert, dass keine anderweitigen Anpassungen vorgenommen wurden und die Version von Soap 1.1 oder 1.2 sein darf. Das einzige was er mir noch gesagt hat, dass der Aufruft via Port 443 stattfindet und evt. das entsprechende Zertifikat fehlt. Die Betreiber Firma hat ein eigenes Zertifikat und das steht mir auch zur Verfügung. Ich habe auch schon versucht, das über cafile im array zu übergeben, aber das geht auch nicht. Der Server ist auch über den Browser erreichbar, nachdem man das Zertifikat akzeptiert hat.

Hat jemand eine Idee, wie man dieses Problem lösen kann?

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

holimatic schrieb:

Seit dem Upgrade auf V16.04 geht dieser Aufruf nicht mehr und endet mit einem

"EXCP:Could not connect to host"

Ist der Port per telnet erreichbar, also freigegeben? Welche PHP-Version verwendest du? Ist die verwendete WSDL korrekt?

holimatic

(Themenstarter)
Avatar von holimatic

Anmeldungsdatum:
15. Dezember 2009

Beiträge: 405

Wohnort: Rotkreuz

misterunknown schrieb:

holimatic schrieb:

Seit dem Upgrade auf V16.04 geht dieser Aufruf nicht mehr und endet mit einem

"EXCP:Could not connect to host"

Ist der Port per telnet erreichbar, also freigegeben? Welche PHP-Version verwendest du? Ist die verwendete WSDL korrekt?

Ja per telnet ist der Port erreichbar und freigegeben. PHP Version 7.0.8-0ubuntu0.16.04.3. WSDL Datei ist korrekt, weil ja vorher mit der V14.04 schon verwendet.

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

holimatic schrieb:

Ja per telnet ist der Port erreichbar und freigegeben. PHP Version 7.0.8-0ubuntu0.16.04.3. WSDL Datei ist korrekt, weil ja vorher mit der V14.04 schon verwendet.

Und wie siehts mit der WSDL aus?

Ansonsten kannst du mal den Traffic per tcpdump mitschneiden, und gucken, ob auch wirklich versucht wird den korrekten Server zu kontaktieren.

holimatic

(Themenstarter)
Avatar von holimatic

Anmeldungsdatum:
15. Dezember 2009

Beiträge: 405

Wohnort: Rotkreuz

misterunknown schrieb:

Und wie siehts mit der WSDL aus?

Die WSDL Datei ist vom lokalen Browser aus mit https://<ip>/SoapServer.wsdl erreichbar. Man muss allerdings, wie schon erwähnt, das Zertifikat noch bestätigen. Ich vermute, dass das Problem auch da liegt. Wie betätige ich ein Zertifikat aus PHP heraus?

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

holimatic schrieb:

Wie betätige ich ein Zertifikat aus PHP heraus?

So.

holimatic

(Themenstarter)
Avatar von holimatic

Anmeldungsdatum:
15. Dezember 2009

Beiträge: 405

Wohnort: Rotkreuz

misterunknown schrieb:

holimatic schrieb:

Wie betätige ich ein Zertifikat aus PHP heraus?

So.

Yes, das wars es läuft wieder 😊 Vielen herzlichen Dank misterunknown

Antworten |