Ankündigung

Einklappen
Keine Ankündigung bisher.

SOAP - rudimentäre Frage

Einklappen

Neue Werbung 2019

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

  • SOAP - rudimentäre Frage

    Hi, ich versuche mich gerade ein wenig in SOAP einzuarbeiten.
    Ich habe mir ein bisschen Theorie durchgelesen, und 2 Dateien erstellt, einen request und einen response. Nun habe ich absolut keine Ahnung, was ich damit anstellen soll, d.h welche Dateiendung sie haben sollen, und wie ich sie in PHP einbinde.
    PHP5 mit SOAP - Unterstützung ist installiert, ein Apache 2 Webserver ebenso. Danke...


  • #2
    client.php
    in dieser datei wird ein neues Objekt des Soapservers (server.php)
    erstellt.

    mit http://localhost/client.php?val1=10&val2=20 kann dieses file aufgerufen werden.

    PHP-Code:
    <?php
    $client 
    = new SoapClient(NULL,
    array(
    "location" => "http://localhost/soap/server.php",

    "uri" => "urn:xmethodsTestServer"
    ));

    $val1 $_REQUEST[val1];
    $val2 $_REQUEST[val2];

    echo 
    "$val1 + $val2 = ";

    $parameters1 = array(
    new 
    SoapParam($val1'zahl1'),
    new 
    SoapParam($val2'zahl2'),
    );


    // Dies ist der Aufruf des Servers
    $result $client->__call("addiere"$parameters1,
    array(
    "uri" => "urn:xmethodsTestServer",
    "soapaction" => "urn:xmethodsTestServer#addiere"     //irgendein Platzhalter
    ));
    echo 
    $result;
    ?>
    server.php
    Der Server verarbeitet lediglich die zwei übergebenen Werte und gibt das Resultat zurück. Dieses REsultat wird vom Client angezeigt.

    PHP-Code:
    <?php
    function  addiere($zahl1$zahl2) {
        return 
    $zahl1 $zahl2;
    }


    $server = new SoapServer(NULL,
     array(
    'uri' => "http://localhost/soap/"));
    $server->addFunction(array('addiere''test'));
    $server->handle();                    
    ?>
    bei Fragen zum Code oder anderen Fragen stehe ich gerne zur verfügung.

    Gruss
    Seamus

    Kommentar


    • #3
      kleiner Fehler in deinem Script:

      du schreibst im Server.php

      $server->addFunction(array('addiere', 'test'));

      jedoch müste dies

      $server->addFunction(array('addiere'));

      sein ansonsten super beispiel!

      Kommentar

      Lädt...
      X