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>
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));
et j'obtiens
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.