require class in soap class
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?PHP
//require('../BusinessObject/User.php');
class UserService {
function getUser($symbol) {
//program code
}
}
$server = new SoapServer("http://127.0.0.1/WebService/user.wsdl");
$server->setClass("UserService");
$server->handle();
?>
//require('../BusinessObject/User.php');
class UserService {
function getUser($symbol) {
//program code
}
}
$server = new SoapServer("http://127.0.0.1/WebService/user.wsdl");
$server->setClass("UserService");
$server->handle();
?>
Zodra ik require('../BusinessObject/User.php'); niet uitcommentaar doet het niet meer en krijg de volgende melding:
SoapFault exception: [Client] looks like we got no XML document....
Gewijzigd op 01/01/1970 01:00:00 door Foton
Ik wil een webservice aanmaken voor het benaderen van mijn objecten.
In de functie getUser wil ik bijvoorbeeld het object User aanmaken, die in het bestand User.php staat.
Ik wil de klasse User dus includen/require, maar wanneer ik dat doe, dan werkt de service niet meer.
De User klasse is correct. Elk bestand dat ik wil include, dan werkt het al niet meer.
Jan Koehoorn schreef op 04.02.2007 20:32:
Wat is de vraag?
Edit:
Aha, ik zie je edit ;-)
Hehe, ik was nog druk aan het typen toen het bericht opeens werd gesubmit :-)
Geen mensen hier met php SOAP/WebService ervaring? :'(
Hmm.. 'k zit dan te denken aan:
- In de includes worden code blokken/functies/classen {...} niet juist afgesloten, waardoor de overige code perongelijk binnen een andere functie en/of class valt.
- Functies/classes worden dubbele gedefinieerd
- Functies willen rommelen met de HEADER(), terwijl de includes (al an niet bewust) output naar het scherm sturen.
Controleer eens of zo iets van toepassing zou kunnen zijn..
Buiten dat om zou ik het zo niet weten, daarvoor heb ik te weinig informatie ):
1. Zou een parse error zijn
2. Zou een php error zijn
3. Zou een php warning zijn
Ik zou als eerste beginnen met je error reporting op 4095 te zetten en je display_errors op 1 etc, etc, etc want daar komt namelijk meestal heel veel uit!
Pholeron heeft wel een puntje (al dan niet bewust) met zn headers. Het zou kunnen dat er een Content-Type header verstuurd wordt door een required script (een niet xml oid header). Dus ga je script even na. Het is namelijk wel php-valid, maar je webservice kan die header misschien niet aan...
Even terzijde, het hele soap/webservice gedoe is zwaar overrated! Als je zelf iets maakt in soap vorm ben je sneller klaar en waarschijnlijk beter (sowieso specifieker).
@Cervetti: Wanneer ik thuis zal ik even naar alle mogelijke errors kijken.
Heb je trouwens een alternatief voor SOAP/WebService? Wat ik nog ken is XML-RPC en JSON, beide erg verschillend.
Ik wil gewoon data kunnen aanroepen/versturen op een andere server (3-tier).
Heb je misschien een goed voorbeeld voor zoiets?
Alvast bedankt.