17. marts 2006 - 17:56Der er
12 kommentarer og 2 løsninger
Værktøj - SOAP i PHP
Hej Eksperter.
Jeg er ved at lave en simpel web-service i PHP, og ville i den forbindelse meget gerne have et værktøj der kunne genererer WSDL filen for mig. Jeg kunne forestille mig et værktøj hvor man kunne angive en række detaljer om sin server - fx metoder, adresse osv. - og så genereres dokumentet for en.
Nogen der kender til et sådan værktøj? Meget gerne til Linux hvis det er muligt.
Jeg har lige testet igen, og det var ikke tilfældet. Jeg har prøvet både WebService Helper, NuSoap og Pear Soap. Ingen af dem fungerer på mit setup (PHP 5.0.5 på Apache2).
Måske er det min opsætning. Jeg har sat den lidt strict op så alle fejl og warnings bliver detected, slået magic_quotes fra osv. Jeg er efterhånden desperat. Ingen, absolut igen af de eksempler der findes online, fungerer. Mange af dem er dog også fra før PHP5. Jeg kan fint få mine klienter til at virke - men mine servere fungerer ikke. Jeg får typisk serialiseringsfejl.
Øh, ok, det lyder underligt. Hvordan ser denne fejl ud? Ved ikke lige om jeg kan hjælpe så, for det virkede bare hos mig :) NuSOAP virkede derimod ikke (så skulle jeg fjerne native SOAP i PHP5)...
Array ( [faultcode] => Server [faultactor] => [faultstring] => unable to serialize result [detail] => )
Det er typisk fejl som ovenstående. Men jeg har rent faktisk netop fået det til at virke. Jeg returnerede mine data som et objekt af en given type, som angivet i en tutorial. Men jeg havde ikke set at de havde angivet return-typen som string. Så da jeg returnerede mine egne data som en string, så fungerede det pludselig. Nøj en dejlig fornemmelse.
Så fejlen lå altså i den tutorial jeg fulgte. Jeg tror man dels skal være ret skeptisk når man læser den slags, og ikke bare æde eksemplerne råt, og samtidig være lidt mere vågen end jeg er nu :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.