Hallo,
ich versuche gerade ein Login per SOAP Webservice zu basteln. Die WSDL (bzw. den wichtigen Auszug habe ich an das Psosting angehängt) ist vorgegeben, und da ich vorher noch nicht mit ComplexType's in einer WSDL gearbeitet habe, weiß ich nicht so recht, wie ich das anstellen muss. Da ich nur die WSDL habe, versuche ich mir einen kleine Testumgebung aufzubauen. Das ist mein Server:
Der entsprechende Client dazu:
Das print_r bringt mir das Ergebnis: stdClass Object() . Ein var_dump($res) bringt dies: object(stdClass)#2 (0) { } . Meiner Ansicht nach, sollten doch da die Variablen des authUser-Objekts drin stehen, oder sehe ich da was falsch?
Oder habe ich den Server völlig falsch aufgebaut (wie gesagt, ich versuche mich da an die WSDL zu halten)?
Viele Grüße
Arndtinho
ich versuche gerade ein Login per SOAP Webservice zu basteln. Die WSDL (bzw. den wichtigen Auszug habe ich an das Psosting angehängt) ist vorgegeben, und da ich vorher noch nicht mit ComplexType's in einer WSDL gearbeitet habe, weiß ich nicht so recht, wie ich das anstellen muss. Da ich nur die WSDL habe, versuche ich mir einen kleine Testumgebung aufzubauen. Das ist mein Server:
PHP:
ini_set("soap.wsdl_cache_enabled", "0");
$url = "test.wsdl";
try {
$server = new SoapServer($url);
$server->setClass("User");
$server->handle();
}
catch (SOAPFault $f) {
echo "Server-Error: ".$f->getMessage();
}
class User {
public $authUser = null;
public $param = "";
public function __construct() {
$this->authUser = new getAuthUserResponse();
}
public function getAuthUser($param) {
return $this->authUser;
}
}
class getAuthUserResponse {
public $userEmail = "test@test.de";
public $userFirstName = "Max";
public $userLastName = "Mustermann";
}
PHP:
ini_set("soap.wsdl_cache_enabled", "0");
$url = "test.xml";
try {
$oClient = new SoapClient($url);
$res = $oClient->getAuthUser('test');
print_r($res);
}
catch (SOAPFault $f) {
echo "Client-Error: ".$f->getMessage()."<br>Line: ".$f->getLine();
}
Oder habe ich den Server völlig falsch aufgebaut (wie gesagt, ich versuche mich da an die WSDL zu halten)?
Viele Grüße
Arndtinho