Bonjour,

Je suis en train de développer une API pour mon site.
J'utilise pour celà la classe native de PHP (SoapServer) et un WSDL.

J'ai réussi à faire un début, avec 2 méthodes qui fonctionnent, cependant je ne comprends pas bien les interractions entre la méthode PHP et le fichier WSDL.

En effet, dans mon WSDL, j'ai une méthode dont le retours est défini par le type suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<xs:complexType name="getProjectByIdResponse"> 
 		 	<xs:sequence> 
  				<xs:element name="projectParameters" type="xs:string"/> 
		  	</xs:sequence> 
 		 </xs:complexType>
Pourtant, lorsque mon php retourne un tableau associatif (typiquement le résultat d'un "select *" mysql retournant une ligne), ça ne pose pas de soucis !
un var_dump me donne ce résultat là :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
object(stdClass)#2 (1) { ["item"]=> array(2) { [0]=> object(stdClass)#3 (2) { ["key"]=> string(4) "name" ["value"]=> string(0) "un nom" } [1]=> object(stdClass)#4 (2) { ["key"]=> string(13) "date_creation" ["value"]=> string(0) "une date" } } }
- Du coup, est-ce obligatoire d'utiliser des classes ? vu qu'un objet est créé ...

- Pourquoi le ["item"] ? d'où sort-il ?
Car du coup, le client doit faire un " ->{'item'}" sur l'objet de réponse, alors que "item" n'est pas définit dans ma WSDL et provient de nul part ...


Je vous remercie d'avance de vos éclairages