Announcement

Collapse
No announcement yet.

SOAP beginner

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

  • SOAP beginner

    Hallo,
    ich will eine Webservice implementieren, die eine String bekommt und auswertet. Die SOAP-Server reagiert zwar auf meine Anfragen, gibt mir aber nicht die gewünschte Resultat zurück: Anstatt eine String zu bekommen, erhalte ich den Wert Null. Nach folgend finden Sie die dazugehörige Codes:
    ---------------------
    soapserver:
    ________
    <?php
    function addiere($sum1, $sum2) {
    return "test".$sum1.$sum2 ;

    }

    $server = new SoapServer(NULL,
    array('uri' => "http://garage.musikbefreier.de/testserver.wsdl",'encoding'=>'UTF-8')); //{uri} müsst ihr er
    $server->addFunction('addiere'); //Funktion zum Server hinzufügen
    $server->handle(); //Hier wird die Abfrage abgearbeitet
    ?>

    --------------------------------
    WSDL Datei
    ___________________
    <?xml version ='1.0' encoding ='UTF-8' ?>
    <definitions name='TestServer'
    xmlns:tns=' http://garage.musikbefreier.de/testserver.wsdl '
    xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
    xmlns:xsd='http://www.w3.org/2001/XMLSchema'
    xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'
    xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
    xmlns='http://schemas.xmlsoap.org/wsdl/'>

    <message name="addiereAnfrage">
    <part name="sum1" type="xs:string"/>
    <part name='sum2' type="xs:string"/>
    </message>
    <message name="addiereAntwort">
    <part name='Result' type="xs:string"/>
    </message>

    <portType name="TestServerPortType">
    <operation name="addiere">
    <input message="addiereAnfrage"/>
    <output message="addiereAntwort"/>
    </operation>
    </portType>

    <binding name="TestServerBinding" type="tns:TestServerPortType">
    <soap:binding style="rpc"
    transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="addiere">
    <input><soap:body use="literal"/></input>
    <output><soap:body use="literal"/></output>
    </operation>
    </binding>

    <service name='TestServerService'>
    <port name='TestServerPort' binding='TestServerBinding'>
    <soap:address location='http://garage.musikbefreier.de/server.php'/>
    </port>
    </service>
    </definitions>

    ----------------------------
    Soap client
    _________________
    <?php
    $client = new SoapClient('http://garage.musikbefreier.de/testserver.wsdl'); //{url} wie immer ersetzen

    $result = $client->addiere(string1, string2);

    echo $result;
    ?>


    ich erhalte als Ergebnis test00 anstatt teststring1string2
    Kann mir bitte jemanden sagen woran es liegt??
Working...
X