Parametre PHP pour ws Talend
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:
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:
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.