Mon entreprise publie un ensemble de services Web .NET disponibles via SOAP. J'ai besoin d'attacher mon application PHP dans ceux-ci, mais je me heurte à un problème pour lequel je ne trouve pas de solution. L'un des services auxquels j'ai besoin d'accéder porte la signature Advertiser CreateAdvertiser (Advertiser advertiser)
.Passage d'un objet à un service Web .NET via SoapClient de PHP
Comment puis-je transmettre une instance d'un objet que je n'ai pas (Annonceur)? J'ai essayé de créer une instance de stdClass()
et d'affecter les propriétés requises de l'annonceur .NET, mais cela ne fonctionne pas. D'une manière ou d'une autre, j'ai besoin de composer un objet que le service reconnaîtra et transmettra. Des idées sur la façon de s'y prendre?
J'utilise la classe SoapClient pour PHP, bien sûr.
Très apprécié. Après beaucoup d'essais et d'erreurs, j'ai finalement trouvé que la première partie du problème est qu'aucun paramètre n'est passé - ni scalaires simples ni types complexes. Je l'ai essayé d'utiliser params nommés: array ('name1' => 'val1', 'name2' => 'val2')
et sans nom, mais une décharge de __getLastRequest
montre un appel de méthode vide:
...<SOAP-ENV:Body><ns1:CreateAdvertiser/></SOAP-ENV:Body>...
J'ai besoin de résoudre ce problème avant de se soucier de la suivante, je pense.
Oy. À peu près la dernière chose que je veux faire est d'assembler le XML au format SOAP à la main. J'apprécie la suggestion, mais j'espère que l'espoir ne viendra pas là-dessus. :-) –