Forum Programmation.php SOAP (classmap) faire le lien entre classe PHP et type WSDL

Posté par  .
Étiquettes : aucune
0
9
juin
2009

Bonjour,

un de mes services web expose une fonction qui retourne un objet :

class Foo

{
public $bar;

public function __construct($bar)
{
$this->bar = $bar;
return $this;
}
}

.


Le document WSDL associé décrit bien cette structure :
< element name="Foo" >

< complexType >
< sequence >
< element name="bar" type="string" / >
< /sequence >
< /complexType >
< /element >

.


Côté client, j'ai également une classe PHP :
class MyFoo

{
public $bar;

public function __construct($bar)
{
$this->bar = $bar;
return $this;
}
}

.


J'instancie mon client SOAP avec l'option classmap, avec l'intention de faire le lien entre mon objet WSDL Foo et ma classe cliente MyFoo :

$client = new SoapClient('http://[...].wsdl', array(...', 'classmap' => array('Foo' => 'MyFoo')));

.


Mais malgré cela, lorsque j'invoque la fonction du service web :
$f = $client->__construct('myBar');

je récupère un objet standard :
stdClass Object

(
[bar] => myBar
)

Alors que moi, je voudrais récupérer une instance de MyFoo.

.


Merci d'avance pour vos conseils !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.