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??
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??