PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   SOAP wsdl und php (http://www.selfphp.de/forum/showthread.php?t=24477)

nites 14.11.2011 17:09:27

SOAP wsdl und php
 
Hallo zusammen,

ich hatte schon mal wegen SOAP etwas gefragt, bin inzwischen etwas weiter von meinem Verständnis - denke ich ;-)

Noch einmal grundsätzlich vorweg: Ich möchte die wsdl Funktionen mit Testdaten überprüfen, sprich alle möglichen Testdaten liegen vor.

Mein Plan sieht folgendes vor:

Ich habe x verschiedene wsdl's. Diese ändern sich auch von Zeit zu Zeit, was ich nicht mitbekomme. Auf Grund dessen, weiß ich leider nicht welche Parameter alle zwingend übergeben werden müssen.

Zum Beispiel:
wsdl 1 erwartet bei "ErstelleKontakt" den Nachnamen, den Vornamen und die Telefonnr.
wsdl 2 erwartet bei "ErstelleKontakt" den Nachnamen, den Vornamen und die Faxnr.

Daher möchte ich gerne die wsdl jedesmal auslesen und automatisch alle Klassen und functionen erzeugen lassen.


Für Beispiel 1 soll das file in etwa so aussehen:
PHP-Code:

class order {
  public 
$actionID;
}
class 
data {
  public 
$nachname;
  public 
$vorname;
  public 
$telefonnummer;
}

class 
ErstelleKontaktService extends SoapClient {

  private static 
$classmap = array(
                                    
'order' => 'order'
                                    'data' 
=> 'data',
                                   );

  public function 
ErstelleKontaktService($wsdl "http://<ip>?wsdl"$options = array()) {
    foreach(
self::$classmap as $key => $value) {
      if(!isset(
$options['classmap'][$key])) {
        
$options['classmap'][$key] = $value;
      }
    }
    
parent::__construct($wsdl$options);
  }


  
/**
   *
   */
  
public function ErstelleKontakt(ErstelleKontakt $parameters) {
    return 
$this->__soapCall('ErstelleKontakt', array($parameters),       array(
            
'uri' => 'http://<kontakt>/',
            
'soapaction' => ''
           
)
      );
  } 

mit
$daten = file_get_contents("http://<ip>?wsdl"");
bekomme ich irgendwann einen Timeout.


Ich hoffe ihr könnt mir helfen so eine Datei automatisch zu generieren oder mir sagen, wie ich es sonst in "Echtzeit" heraus finde, welche Parameter benötigt werden.

Danke und Gruß
nites


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:23:51 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.