Vous devez vous identifier pour créer des messages et des sujets.

WebServices Iseries V5R4

Bonjour,

concernant la mise en oeuvre d'un web-services sur Iseries en V5R4 : après mise à jour de PTFs, j'ai créé avec succès mon serveur de Webservices, je peux le tester avec l'outil fourni par IBM depuis l'admin ibm administration for i...
Par contre, je n'arrive pas à appeler ce webservice depuis par exemple un simple PHP sur mon localhost...

l'URL du wsdl répond bien (en copier-coller sur un navigateur)
mon *pgm as400 attend 2 paramètres en entrée et retourne 1 paramètre en sortie. J'ai l'impression que les paramètres sont passée en tableau dans le WSDL...

extrait de mon WSDL :


























...

exemple de php pour tester :

encvadws('0000100', '1');
echo "$retour";
?>

une idée ???

merci;

Euhh,

ce serait pas plutôt :

ws_method('0000100', '1');
echo "$retour";
?>

Citation de k2r400

Euhh,

ce serait pas plutôt :

ws_method('0000100', '1');
echo "$retour";
?>

Oui, tout à fait. (j'avais changé le nom de mon ws dans mon post pour faire plus "neutre" mais oublié de changer le nom de la méthode....)

Avez-vous déjà mis en oeuvre un webservices sur as400 appelé depuis un autre environnement ?

Citation de xb_mb

Avez-vous déjà mis en oeuvre un webservices sur as400 appelé depuis un autre environnement ?

Oui et c'est exactement ce que tu as fais !

pour info, l'appel en php du webservices Iseries a abouti mais avec 2 adaptations du php en s'inspirant d'informations vues sur
CLIQUER ICI :

d'une part l'appel de la fonction SoapClient doit être adaptée au niveau syntaxe et d'autre part les paramètres du webservices doivent être passés sous forme d'un tableau d'une structure des paramètres...

exemple avec 2 paramètres en entrée dans le WSDL :

'http://method_ws.wsbeans.iseries/xsd',
'location' => 'http://adresseIP:10010/web/services/method_ws?wsdl',
'trace' => '1',
'exceptions' => '1',
"features" => SOAP_SINGLE_ELEMENT_ARRAYS));
$param->_PARAM1 = '00100';
$param->_PARAM2 = '999';

$result = $client->__SoapCall('method_ws', array($param));

print_r($result);
?>