SoapServer eigene Fehlermeldung zurück schicken

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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 ;-)

    Comment


    • #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");
          }
      }
      ?> 

      Comment

      Working...
      X