2010-08-27 6 views
0

J'essaie d'appeler un service en utilisant nusoap. Initialement, le service est écrit en Java et nécessite un objet Java en entrée. Comment devrais-je construire l'entrée pour que PHP l'accepte? Au service moment ne comprend pas les approches suivantes (entrée est PENSE null):nusoap (php) + objet java en tant qu'entrée

$obj = (object) array('param1_name' => 'value1', 'param2_name' => 'value2', ..); 

$obj = (object) array('value1', value2,...); 

$obj = (object) array('String_1' => 'value1', 'Long_1' => value2, ...); 

J'ai essayé l'approche suivante ainsi:

http://www.php.net/manual/en/book.soap.php#83409

Répondre

0

Si le service distant utilise SOAP et vous avez un wsdl, alors ça devrait marcher. Mais vous dites, le service nécessite un objet Java. Cela ressemble à RMI (invocation de méthode à distance) et dans ce cas, vous ne pourrez pas l'utiliser avec nusoap et pas avec PHP du tout. Dans ce cas, le service nécessite des objets Java sérialisés (pas XML) et (généralement) seul Java peut les créer et les lire.


Le protocole SOAP échange habituellement des documents XML. Cela n'a donc pas d'importance si le serveur est implémenté en Java. Le format de données est défini dans un schéma xml inclus ou référencé par le fichier wsdl.

Un très bon outil pour "jouer" avec les services web SOAP est soapUI. Avec soapUI vous pouvez écrire des demandes avec un éditeur de texte et voir les réponses brutes. Vous devriez l'installer et l'utiliser avec le service.


Lectures complémentaires:

+0

il utilise du savon et a wsdl. Par 'require wsdl' je veux dire que le service a été fait à l'origine en Java et la méthode que nous utilisons, a comme entrée un objet java. Je ne suis pas sûr si elle joue un rôle appelant un service ou non. Quoi qu'il en soit, contracter l'entrée comme je l'ai montré avant ne fonctionne pas, l'entrée est toujours vide. Pouvez-vous donner quelques conseils, à quoi devrait ressembler la structure de l'objet? juste array (valeurs), array (object_param_names => valeurs), array (object_param_types => valeurs), objet php avec la même structure ou ...? – Anastassia