SoapServer eigene Fehlermeldung zurück schicken

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SoapServer eigene Fehlermeldung zurück schicken

    Hi @ all,

    ich habe einen SoapServer und einen SoapClient in PHP.

    Wenn in einer Service-Klasse ein Fehler auftritt, z.B. die Verbindung zur Datenbank nicht möglich ist, wird dieser Fehler geloggt und der SoapServer gibt NULL zurück.

    Kann ich da nicht selbst einen SoapFault zurück geben? Möchte gerne eine Fehlermeldung wie "sorry, internal server error..." zurück schicken und nicht standardmäßig NULL zurück geben.

    SoapServer:
    PHP-Code:
    $wsdl 'http://xxx.de/_test/webservice/secret/?wsdl';
    $server = new SoapServer($wsdl);
    $server->setClass('TestServiceClass');
    $server->handle(); 
    SoapClient:
    PHP-Code:
    ini_set('soap.wsdl_cache_enabled''0');
    ini_set('oap.wsdl_cache_ttl''0');

    $wsdl 'http://xxx.de/_test/webservice/secret/?wsdl';
    $client = new SoapClient($wsdl);
    $result $client->getTestString(); 
    TestServiceClass:
    PHP-Code:
    class TestServiceClass
    {
        
    /**
         * Gibt den String "test" zurück
         * 
         * @return string "test"
         */
        
    public function getTestString()
        {
            
    mysql_connect('');
            
    //return 'test';
        
    }

    Ich habe mich schon mit ErrorHandlern eingehakt, doch würde ich dann immer bei eine Ausgabe oder beim schmeißen einer Exception oder eines SoapFault das XML kaputt machen.

    Wie kann ich mich mit der Soap-Extension in den Reponse-Zweig einhängen?

    Hat jemand ne Lösung für mein Problem?

    Danke

    Gruß
    Svenner.

  • #2
    Hat keiner eine Idee...

    Das Projekt sitzt mir im Nacken ;-)

    Kommentar


    • #3
      Versuch doch das mal:

      PHP-Code:
      class TestServiceClass 

          
      /** 
           * Gibt den String "test" zurück 
           *  
           * @return string "test" 
           */ 
          
      public function getTestString() 
          { 
              
      mysql_connect(''); 
              
      //return 'test'; 
              
      return new SoapFault("MySQL-Fehler""bla bla");
          }
      }
      ?> 

      Kommentar

      Lädt...
      X