Bonjour,
Comme le dit le titre, je cherche à passer des paramètres via un formulaire php pour lancer un webservice, pour l'instant je me contente d'envoyer des chemins de fichiers à traiter.
2 manières de lancer un ws Talend hébergé sous Tomcat :
- appel en dur : http://localhost:8080/Principale_0.1...SS\In\REEL.xls, j'arrive à passer les paramètres utiles à la suite de l'url et je traite les fichiers désirés.
- appel soap, qui m'intéresse et qui ne fonctionne pas.. pour l'instant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Fichier wsdl <wsdl:types> <schema elementFormDefault="qualified" targetNamespace="http://talend.org" xmlns="http://www.w3.org/2001/XMLSchema"> <element name="args"> <complexType> <sequence> <element maxOccurs="unbounded" minOccurs="0" name="item" type="xsd:string"/> </sequence> </complexType> </element> ... <wsdl:message name="runJobRequest"> <wsdl:part element="impl:args" name="args"/> </wsdl:message> ... <wsdl:operation name="runJob"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="runJobRequest"> <wsdlsoap:body use="literal"/> </wsdl:input>et j'obtiens
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Coté client (PHP) $services = new soapClient($url_wsdl); // with soap php extension print_r($services->__getFunctions()); // get function service can use $args[0] = "&arg1=--context_param%20dossierBoard=d:\Utilisateurs\acanevat\Mes%20documents\TOS2\recoupBoardESS\In\board.xls"; $args[1] = "&arg2=--context_param%20dossierESS=d:\Utilisateurs\acanevat\Mes%20documents\TOS2\recoupBoardESS\In\REEL.xls"; // $args[0] = "--context_param"; // $args[1] = "dossierBoard=d:\Utilisateurs\acanevat\Mes documents\TOS2\recoupBoardESS\In\board.xls"; // $args[2] = "--context_param"; // $args[3] = "dossierESS=d:\Utilisateurs\acanevat\Mes documents\TOS2\recoupBoardESS\In\REEL.xls"; // Call the SOAP method print_r($services -> runJob($args));
Array ( [0] => runJobReturn runJob(args $args) ) stdClass Object ( )
Je débute sur les webservices je pense que je n'arrive pas à lui envoyer des paramètres, le truc c'est que peut être le webservice n'arrive pas à les lire correctement sachant que ce sont des variables context (context.dossierREEL et context.dossierESS)
Cordialement.
Partager