DXP GT – Fireplace
DXP GT – Mobile Footer Layer

PHP SoapClient Probleme

Domi83

Rear Admiral
Registriert
Feb. 2010
Beiträge
5.462
Hallo Leute, ich arbeite seit gestern an einem SoapClient() der nicht so richtig möchte wie ich mir das vorstelle. Ich hatte auch schon im phpforum meine Problematik und meine Ansätze angesprochen, aber ich vermute mal dort verzweifelt man an meiner Problematik.

Für den einen oder anderen, der das schon gebaut hat mag das vielleicht auch alles einfach sein, für mich der es zum ersten mal versucht, ist es nicht schön. Selbst mein Kollege hatte es vor 6 Monaten versucht und dann aufgegeben, weil es nicht so wirklich wollte :(

Es geht darum, dass wir eine Schnittstelle zwischen unserer Seite und einem Versicherer (Hanse Merkur) herstellen möchten. Ich hatte mir dann auch die eine oder andere Anleitung angesehen und auch versucht etwas hin zu bekommen, aber ich bekomme leider nur einen dicken fetten Fehler :(

Aktuell sieht mein Aufbau wie folgt aus,
PHP:
<?php
 class RequestType {
  public $DetailResponse;
 }
 $daten = new RequestType();
 $daten->DetailResponse = false;

 $wsdl = "https://xxx/HMRVSoap_Service?wsdl";

 $options = array();
 $options['login']        = "xxx";
 $options['password']     = "xxx";
 $options['local_cert']   = $_SERVER['DOCUMENT_ROOT']."/tests/xxx.de.crt";
 $options['soap_version'] = "SOAP_1_2";
 $options['encoding']     = "UTF-8";

 $options['classmap']['HMR_InsurancePlanSearchRQ'] = 'RequestType'; 

 $soapclient = new SoapClient($wsdl, $options);
?>
<h1>Response</h1>
<pre><?php var_dump($soapclient->HMR_InsurancePlanSearchRQ($daten)); ?></pre>
Eigentlich sollte man mit "HMR_InsurancePlanSearchRQ" den Produktkatalog abrufen können.. doch das einzige was ich bekomme ist folgender Response...
Fatal error: Uncaught SoapFault exception: [HTTP] Could not connect to host in /srv/xxx/test.php:173
Stack trace:
#0 [internal function]: SoapClient->__doRequest('<?xml version="...', 'http://172.xx.x...', 'urn:HMR_Insuran...', 1, 0)
#1 /srv/xxx/test.php(173): SoapClient->__call('HMR_InsurancePl...', Array)
#2 /srv/xxx/test.php(173): SoapClient->HMR_InsurancePlanSearchRQ(Object(RequestType))
#3 {main}
thrown in /srv/xxx/test.php on line 173
Vielleicht ist hier jemand der dort drauf guckt, schmunzelt und sofort sagen kann "hey, mach mal XY" und hoffentlich komme ich dann meinem Ziel ein wenig Näher :)

Aber im Moment verzweifele ich ein wenig und hoffe das man mir helfen kann... :(
Gruß, Domi
 
Ok, hast gewonnen.. Was mich aber an der Geschichte irritiert, sobald ich __getFunctions() oder __getTypes() mache, bekomme ich eine fehlerfreie Ausgabe. Anschließend, wenn ich dann eine Funktion von dem Server ausführen will, bekomme ich halt "Could not connect to host" und das ist für mich gerade etwas unerklärlich.
 
Najo, die WSDL kann er halt noch abrufen(HTTP, wimre!) und darin findet er auch die Funktionen und Typen.
Sobald er dann aber versucht, tatsächlich über die Schnittstelle zu sprechen (laut Log wohl sogar über Port 173?) wird irgendwo eine Firewall o.ä. blockieren und dann kommt es zu dieser Fehlermeldung.
 
Okay, dann haue ich mal den Typen an.. von dem mein Kollege und ich im Februar die Schnittstellenbeschreibung bekommen haben. Der muss ja wohl wissen wie man die Funktion ansprechen kann.

Wenn ich dann etwas genaueres weiß, werde ich es hier mitteilen.
 
Kannst ja auch mal testen... telnet oder netcat... Verbindung nach Zieladresse auf Port 173... wenn es dich blockt, hast du den Schuldigen.
 
Zurück
Oben