Hallo miteinander!
Ich benutze PHP V5.2.3 mit der integrierten SOAP Funktionalität und vorerst arbeite ich noch ohne WSDL. Ich habe nun ein Problem mit dem Server.
Schreibe ich eine Klasse in derselben Datei in der der Server liegt funktioniert alles. Lagere ich die Klasse nun in eine externe php-Datei und inkludiere diese per "require_once" funktioniert der Aufruf nicht mehr! Auch include, include_once oder require funktionieren nicht... Es wird folgende Exception geworfen "looks like we got no XML document". Merkwürdigerweise ist aber der SOAPResponse richtig und genauso aufgebaut wie bei der funktionierenden Lösung.
Funktionierende Lösung:
server.php
NICHT funktionierende Lösung:
server.php
MySoapClass.php
Ich benutze PHP V5.2.3 mit der integrierten SOAP Funktionalität und vorerst arbeite ich noch ohne WSDL. Ich habe nun ein Problem mit dem Server.
Schreibe ich eine Klasse in derselben Datei in der der Server liegt funktioniert alles. Lagere ich die Klasse nun in eine externe php-Datei und inkludiere diese per "require_once" funktioniert der Aufruf nicht mehr! Auch include, include_once oder require funktionieren nicht... Es wird folgende Exception geworfen "looks like we got no XML document". Merkwürdigerweise ist aber der SOAPResponse richtig und genauso aufgebaut wie bei der funktionierenden Lösung.
Funktionierende Lösung:
server.php
PHP-Code:
class MySoapClass {
public $myAttribut = 1;
public function __construct() {
$this->myAttribut = 2;
}
public function getParty() {
return this->myAttribut;
}
}
try {
$server = new SoapServer(
null,
array("uri" => "http://localhost/ordner/"
)
);
$server->setClass("MySoapClass");
$server->handle();
}
catch(SOAPFault $f)
{
print $f->faultstring;
}
server.php
PHP-Code:
require_once "MySoapClass.php";
try {
$server = new SoapServer(
null,
array("uri" => "http://localhost/ordner/"
)
);
$server->setClass("MySoapClass");
$server->handle();
}
catch(SOAPFault $f)
{
print $f->faultstring;
}
PHP-Code:
class MySoapClass {
public $myAttribut = 1;
public function __construct() {
$this->myAttribut = 2;
}
public function getParty() {
return this->myAttribut;
}
}
Kommentar