Probleme d'utilisation de Webservice - PHP - Programmation
Marsh Posté le 23-11-2006 à 16:46:12
Up!
y a du nouveau....
je viens de tester ce script sur un serveur ou est installé PHP5 et ca marche nikel :
$job = "<RTECOM>
<InfFile>
<Dest_1>
<Fax>0493000000</Fax>
</Dest_1>
<Document>
<Delete_Files>0</Delete_Files>
<File_1>fax1.txt</File_1>
<File_1.Base64>Q2VjaSBlc3QgdW4gdHllc3QgbWVyY2kgZGUgZW4gcGFzIGVuIHRlbmlyIGNvbXB0ZQ==</File_1.Base64>
</Document>
<FAX>
<Dest>1</Dest>
<Type>RTEFAXTYPE_TEXT_0001</Type>
</FAX>
</InfFile>
</RTECOM>";
try {
// Nouvelle instance de la classe soapClient
$client = new SoapClient("url" ); //finissant par .asmx?wsdl
// appel de la méthode getServerDate du service web
$params = array('param1' => "toto", 'param2' => "toto", 'param3' => "toto", 'flux_xml' => $job); 'jobContent' => $job);
$O = $client->SubmitJob($params);
// Affichage du résultat
echo $O->date ;
} catch (SoapFault $fault) {
echo $fault;
}
Mais je n'arrive pas a retranscrire le tout en utilisant la librairie Nusoap, obligatoire si je n'ai pas PHP5 d'installé....
Please quelqu'un pour m'aider ?
Marsh Posté le 23-11-2006 à 17:28:47
t'as le wsdl du service que tu veux utiliser ? en particulier la partie concernant SubmitJob
Marsh Posté le 23-11-2006 à 18:30:15
soju a écrit : t'as le wsdl du service que tu veux utiliser ? en particulier la partie concernant SubmitJob |
<wsdl:definitions targetNamespace="http://url/">
−
<wsdl:types>
−
<s:schema elementFormDefault="qualified" targetNamespace="url">
−
<s:element name="SubmitJob">
−
<s:complexType>
−
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="param1" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="param2" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="param3" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="jobContent" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
c'est ca qui t'interesse ?
Merci
Marsh Posté le 24-11-2006 à 10:00:28
cette page pourra peut être t'aider : http://users.skynet.be/pascalbotte [...] vanced.htm
tiens nous au courant
Marsh Posté le 24-11-2006 à 10:57:04
soju a écrit : cette page pourra peut être t'aider : http://users.skynet.be/pascalbotte [...] vanced.htm |
J'ai deja essayé ca avant, il me retourne egalement la meme erreur
Marsh Posté le 24-11-2006 à 11:06:08
sinon c'est normal que tu aies flux_xml à la place de jobContent ?
dans ton 2ème prog tu as jobContent mais la ligne est syntaxiquement fausse, une erreur de copier coller ?
Code :
|
EDIT: fôte
Marsh Posté le 24-11-2006 à 11:50:20
soju a écrit : sinon c'est normal que tu aies flux_xml à la place de jobContent ?
|
Erreur de copier/coller effectivment
Marsh Posté le 24-11-2006 à 11:53:47
lerdouille a écrit : J'ai deja essayé ca avant, il me retourne egalement la meme erreur |
tu as essayé en utilisant flux_xml ou jobContent ?
Marsh Posté le 24-11-2006 à 13:31:02
soju a écrit : tu as essayé en utilisant flux_xml ou jobContent ? |
j'ai essayé avec jobContent, j'ai bien mis les bons noms des variables en rapport avec le wsdl
Marsh Posté le 24-11-2006 à 14:24:34
je donne ma langue au chat, ou alors donne nous l'url de ton service qu'on puisse tester
Marsh Posté le 24-11-2006 à 15:05:51
impossible, c'es un service ou on doit transmettre des accès fournis par la société :s c'est pour ca que j'ai remplacé les nom des variables dans mes posts
Marsh Posté le 22-11-2006 à 17:07:08
Bonjour,
alors voila, je suis totalement newbie en webservices et je dois appeler une fonction du type :
string SubmitJob(string param1, string param2, string param3, strinf flux_xml, out int returncode, out string return_message) qui a pour but d'envoyer un fax
Apres quelques recherches, et étant donné que je n'ai pas php5 d'installer sur mon serveur, j'ai décidé d'utiliser la librairie NuSoap pour appeler ce webservice via php.
Voici le code :
<?php
$job = "<RTECOM>
<InfFile>
<Dest_1>
<Fax>0400000000</Fax> //un numero de faxe valide a la place
</Dest_1>
<Document>
<Delete_Files>0</Delete_Files>
<File_1>fax1.txt</File_1>
<File_1.Base64>Q2VjaSBlc3QgdW4gdHllc3QgbWVyY2kgZGUgZW4gcGFzIGVuIHRlbmlyIGNvbXB0ZQ==</File_1.Base64>
</Document>
<FAX>
<Dest>1</Dest>
<Type>RTEFAXTYPE_TEXT_0001</Type>
</FAX>
</InfFile>
</RTECOM>";
require('nusoap-0.7.2/lib/nusoap.php');
$client = new soapclient("url" ); // remplacer par l'url fournit finissant par .asmx
// définition des parametres du Webservice (Requete SQL, Liste de serveurs, type de sortie)
$params = array('param1' => "toto", 'param2' => "toto", 'param3' => "toto", 'flux_xml' => $job);
$result = $client->call('submitjob', $params,'NAMESPACE','SOAPACTION'); // la encore fournit
if ($client->fault) {
echo '<h2>Fault (This is expected)</h2><pre>'; print_r($result); echo '</pre>';
} else {
$err = $client->getError();
if ($err) {
echo '<h2>Erreur</h2><pre>' . $err . '</pre>';
} else {
echo '<h2>Result</h2><pre>'; print_r($result); echo '</pre>';
}
}
echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>';
?>
Le retour du script reste invariablement la meme chose :
Fault (This is expected)
Array
(
[faultcode] => soap:Server
[faultstring] => Server was unable to process request. --> Object reference not set to an instance of an object.
[detail] =>
)
Je vous fais grace de tout le message avec la request et le debug.
Quelqu'un a t'il une idée ? Ca va faire bientôt une semaine que je galère franchement la dessus
Merci